【发布时间】:2018-05-17 18:55:31
【问题描述】:
我知道,例如在 Django 中,如果我有主应用程序,我可以创建它的登录页面,这样当用户转到 domain/my_app 时,它会将他们定向到该 app 的索引。
现在我想对整个网站做同样的事情,一个全球登陆页面,所以当我到达domain/时它不会再给我404了
【问题讨论】:
标签: django python-3.x django-views
我知道,例如在 Django 中,如果我有主应用程序,我可以创建它的登录页面,这样当用户转到 domain/my_app 时,它会将他们定向到该 app 的索引。
现在我想对整个网站做同样的事情,一个全球登陆页面,所以当我到达domain/时它不会再给我404了
【问题讨论】:
标签: django python-3.x django-views
这是在 urls.py 中处理的。
urlpatterns = [
url(r'^$', views.index, name='index'),
]
此页面的链接将写为<a href="{% url 'index' %}">Home</a>
【讨论】:
您可以包含一个 匹配所有可能的 URL 的 URL 模式:
# urls.py
urlpatterns = [
url(r'^my-fancy-homepage/$', views.home, name='home'),
# other urls
# ...
url(r'^.*/$', views.takeoff_page, name='takeoff_page'),
]
所以takeoff_page 将匹配所有个可能的URL(那些不与之前的URL匹配的)。
作为view,然后您将他们重定向到您的真实页面:
# views.py
def takeoff_page(request):
return redirect('home')
所以takeoff_page 的视图会将我们重定向到“登陆页面”(这里称为主页)。
【讨论】: