无法请求Django URL

时间:2013-11-19 06:24:12

标签: python django

我的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")

2 个答案:

答案 0 :(得分:0)

切换网址顺序,如

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/与第一个网址格式^myakun匹配,从而显示您的该网页。

或更改网址格式以添加$

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

答案 1 :(得分:0)

此网址:

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

应该是:

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

请注意添加的EOL匹配$。问题是没有'^ myakun'匹配'/ myakun / about'并且该视图被返回,它甚至不会检查是否'^ myakun / about'匹配,即使它确实匹配。