私はDjango and python。に初めています。ビューへのURLマッピング中に、次のエラーが表示されます。
よしpyコード:-
from Django.conf.urls import url
from Django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^posts/$', "posts.views.post_home"), #posts is module and post_home
] # is a function in view.
views.pyコード:-
from Django.shortcuts import render
from Django.http import HttpResponse
# Create your views here.
#function based views
def post_home(request):
response = "<h1>Success</h1>"
return HttpResponse(response)
トレースバック
1.10では、インポートパスをurl()
に渡すことができなくなったため、実際のビュー関数を渡す必要があります。
from posts.views import post_home
urlpatterns = [
...
url(r'^posts/$', post_home),
]
管理者のURLパターンをこれに置き換えます
url(r'^admin/', include(admin.site.urls))
したがって、urls.pyは次のようになります。
from Django.conf.urls import url, include
from Django.contrib import admin
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^posts/$', "posts.views.post_home"), #posts is module and post_home
]
admin urlはinclude(1.9より前)で呼び出し可能です。
Django 1.11.2
メインのurls.pyに以下を記述します。
from Django.conf.urls import include,url
from Django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^posts/', include("Post.urls")),
]
また、appname/urls.pyファイルに次のように記述します。
from Django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$',views.post_home),
]
@knbkからの答えを補完するために、以下のテンプレートを使用できます。
1.9の場合と同様
from Django.conf.urls import url, include
urlpatterns = [
url(r'^admin/', admin.site.urls), #it's not allowed to use the include() in the admin.urls
url(r'^posts/$', include(posts.views.post_home),
]
1.10にあるように:
from your_project_Django.your_app_Django.view import name_of_your_view
urlpatterns = [
...
url(r'^name_of_the_view/$', name_of_the_view),
]
Your_app_Django >> views.pyでビューをレンダリングする関数を作成することを忘れないでください。
答えはproject-dir/urls.pyにあります
別のURLconfを含める 1. include()関数をインポートします。Django.conf.urlsからurlをインポートし、include します。 blog/'、include(' blog.urls '))
実際のビュー関数を渡す必要があります
posts.views import post_homeから
urlpatterns = [... url(r '^ posts/$'、post_home)、]
これはうまくいきます! RL Dispatcher Django およびここ Common Reguler Expressions Django URLs で読むことができます