无法请求Django URL

2024-05-13 17:18:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我的Django有两个url模式

url(r'^myakun', 'portal.views.myakun', name='myakun'),
url(r'^myakun/about/$', 'portal.views.myakun_about', name='myakun_about'), 

当我请求www.site.com/myakun效果很好,但当我要求www.site.com/myakun/about/它将强制重定向到www.site.com/myakun

这是我的观点

def myakun(request):
    __return render_to_response("myakun.html", locals())        

def myakun_about(request):
    __return HttpResponse("sdasda")

Tags: djangonamecomurlreturnrequestdefwww
2条回答

切换URL的顺序,如

url(r'^myakun/about/$', 'portal.views.myakun_about', name='myakun_about'), 
url(r'^myakun', 'portal.views.myakun', name='myakun'),

在您的例子中,http://www.site.com/myakun/about/与第一个url模式^myakun匹配,因此显示您的页面

或者更改url模式以添加$

    url(r'^myakun/$', 'portal.views.myakun', name='myakun'),

此url:

url(r'^myakun', 'portal.views.myakun', name='myakun'),

应该是:

url(r'^myakun/$', 'portal.views.myakun', name='myakun'),

注意添加的EOL匹配$。问题是如果“^myakun”与“/myakun/about”不匹配并且返回该视图,它甚至从不检查“^myakun/about”是否匹配,即使它确实也匹配

相关问题 更多 >