Django Noob URL 从根页面到子页面
Django Noob URL to from Root Page to sub Page
我有一个 Django 项目,我想在其中为所有站点网页使用一个应用程序。我的项目如下所示:
project
src
project
urls.py
views.py
...
web
migrations #package
urls.py
views.py
...
templates
web
index.html # I want this to be my root page
page2.html # This is the second page I'm trying to link to
我正在尝试在 index.html
中创建一个 link,它将带我去 page2.html
。这就是我正在做的
在 project->urls.py
我有 url(r'^$', include('web.urls', namespace="web")),
。这应该将所有转到 url http://127.0.0.1:8000/
的页面请求定向到页面 index.html
project->views.py
是空的,因为我希望 web
应用程序提供所有网页。
在 web->urls.py
中我有 url(r'^$', views.index, name='home_page')
与 web->views.py
和函数
相关
def index(request):
print("Main index Page")
return render(request, 'web/index.html', {})
哪个 returns 正确的页面。
在我为 page2.html
添加 link 到 index.html
之前,这一切正常。 link 看起来像这样:{% url 'web:page2' %}
。我更新 web->urls.py
。我将以下功能添加到 web->views.py
:
def page2(request):
print("Page2")
return render(request, 'web/page2.html', {})
现在我明白了
Reverse for 'page2' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['$page2/?$']
突出显示“{% url 'web:page2' %}”行。
当我删除 link 时一切正常。我的 logic/setup 怎么了?
您需要添加一个额外的 URL 模式:
urls = [
url(r'^page2/$', views.page2, name='page2'),
url(r'^$', views.index, name='home_page'),
]
或者,传递一个参数,您可以使用该参数来标识要呈现给视图的页面。当前,当 URL 与 page2 匹配时,您没有将 URL 映射到要调用的函数,只是主页。
我有一个 Django 项目,我想在其中为所有站点网页使用一个应用程序。我的项目如下所示:
project
src
project
urls.py
views.py
...
web
migrations #package
urls.py
views.py
...
templates
web
index.html # I want this to be my root page
page2.html # This is the second page I'm trying to link to
我正在尝试在 index.html
中创建一个 link,它将带我去 page2.html
。这就是我正在做的
在 project->urls.py
我有 url(r'^$', include('web.urls', namespace="web")),
。这应该将所有转到 url http://127.0.0.1:8000/
的页面请求定向到页面 index.html
project->views.py
是空的,因为我希望 web
应用程序提供所有网页。
在 web->urls.py
中我有 url(r'^$', views.index, name='home_page')
与 web->views.py
和函数
def index(request):
print("Main index Page")
return render(request, 'web/index.html', {})
哪个 returns 正确的页面。
在我为 page2.html
添加 link 到 index.html
之前,这一切正常。 link 看起来像这样:{% url 'web:page2' %}
。我更新 web->urls.py
。我将以下功能添加到 web->views.py
:
def page2(request):
print("Page2")
return render(request, 'web/page2.html', {})
现在我明白了
Reverse for 'page2' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['$page2/?$']
突出显示“{% url 'web:page2' %}”行。
当我删除 link 时一切正常。我的 logic/setup 怎么了?
您需要添加一个额外的 URL 模式:
urls = [
url(r'^page2/$', views.page2, name='page2'),
url(r'^$', views.index, name='home_page'),
]
或者,传递一个参数,您可以使用该参数来标识要呈现给视图的页面。当前,当 URL 与 page2 匹配时,您没有将 URL 映射到要调用的函数,只是主页。