Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重定向到Django中接受垃圾url的登录页面_Django_Redirect_Django Urls_Url Validation - Fatal编程技术网

重定向到Django中接受垃圾url的登录页面

重定向到Django中接受垃圾url的登录页面,django,redirect,django-urls,url-validation,Django,Redirect,Django Urls,Url Validation,我是Django的新手,我正在制作一个名为accounts的网络应用程序。我希望在我的urlpatterns中有一个path方法,每当我输入其他path方法中没有提到的url时,它就会将我发送到登录页面。(注意:我使用了内置的登录方法) 如何实现 url.py from django.urls import path, url from . import views from django.contrib.auth.views import login, logout urlpatterns

我是Django的新手,我正在制作一个名为accounts的网络应用程序。我希望在我的urlpatterns中有一个path方法,每当我输入其他path方法中没有提到的url时,它就会将我发送到登录页面。(注意:我使用了内置的登录方法) 如何实现

url.py

from django.urls import path, url
from . import views

from django.contrib.auth.views import login, logout

urlpatterns = [

    path('display/', views.display),
    path('', views.home),
    path('login/', login, {'template_name': 'accounts/login.html'}),
    path('logout/', logout, {'template_name': 'accounts/logout.html'}),
    path('register/',views.register, name='register'),
    url('xxxx', login, {'template_name': 'accounts/login.html'}) #here, I'd like to change 'xxxx'
]

您只需在
视图.py中创建一个条目,该条目将处理404:

from django.shortcuts import render_to_response
from django.template import RequestContext


def handler404(request):
    response = render_to_response('your_login_template.html', {},
                              context_instance=RequestContext(request))
    response.status_code = 404
    return response
然后在
url.py中指定:

from django.conf.urls.defaults import handler404, handler500
handler404 = 'views.handler404'

请注意,只有在您的
设置.py中
DEBUG=False
可能存在okay的副本时,这才起作用,因此,如果控件找不到匹配的实体,我如何将其从URL.py发送到视图?@SachinKukreja是的,很好,您需要将DEBUG=False设置为有效。。。这似乎不起作用。我得到了一个与ALLOWED HOSTS相关的错误,我将其修改为ALLOWED_HOSTS=['*'],但它仍然显示未找到的页面。是否必须导入函数或其他内容?请尝试将其设置为localhost(我假设您正在测试),并确保未在其他地方将其重新定义为[]错误到底是什么?未找到页面。但它只是一个文本,而不是我们通常使用的错误处理页面