Django找不到reverse()URL
我有以下URLConf设置:Django找不到reverse()URL,django,function,login,reverse,Django,Function,Login,Reverse,我有以下URLConf设置: urlpatterns = patterns('myapp.views', url(r'^$', 'index', name="home"), url(r'^login$', 'login'), ) 到目前为止,我认为: def index(request): """Displays paginated message views""" return HttpResponseRedirect(reverse("myapp.views
urlpatterns = patterns('myapp.views',
url(r'^$', 'index', name="home"),
url(r'^login$', 'login'),
)
到目前为止,我认为:
def index(request):
"""Displays paginated message views"""
return HttpResponseRedirect(reverse("myapp.views.login"))
def login(request):
"""Displays login screen"""
return render_to_response('myapp/login.html', {
"title": "Login"
})
当我尝试转到登录页面时,问题出现了。Django似乎找不到我的URL
转到url时,我收到以下错误:
找不到页面(404)
请求方法:获取请求
网址:
找不到“login”
您看到此错误是因为在Django中有DEBUG=True
设置文件。将其更改为False,Django将显示
标准404页
看起来,即使我使用反向函数根据我的URLConf查找Django自己推荐的URL,它仍然无法找到自己的URL
有什么想法吗
编辑:
我需要澄清一些事情:问题不是Django无法找到正确的URL,而是一旦加载了URL,Django就无法找到与之关联的视图 你能像这样把name属性放到你的url上吗 url(r'^$',index',name=“home”) 然后用这个名字叫reverse 例子 urlpatterns=模式(“”, url(r'^archive/(\d{4})/$,archive,name=“full archive”), url(r“^archive summary/(\d{4})/$”,存档,{'summary':True},“arch summary”), ) 从django.core.urlResolver反向导入 def myview(请求):
return HttpResponseRedirect(reverse('arch-summary',args=[1945])结果表明,错误是由于我更改了settings.py文件中的STATIC_URL变量引起的。将其改回“/static/”后,一切都正常了。你的标题有误导性。只有在查看索引(/)时才使用相反的格式。仅供参考,这给了你什么?我已经编辑了一点标题,请阅读接近结尾的澄清文章。问题不是反向没有给出预期的URL,而是当请求该URL时,我得到一个页面未找到错误。