我有真正的麻烦了解如何使用网页时,在Django的url路由工程,并希望有人可以看看我的代码,并解释我做错了什么。Django的网址路由与网页
另外,在调试时有一些建议会非常有帮助 - 理想情况下,当请求成功解析时,我想看看django如何达到该解决方案。目前我只看到URL模式尝试当我得到提前404
感谢,
在settings.py我有 - APPEND_SLASH =真
我有以下URL结构,括号我已经表明了我想我的REG前应该做..
#urls.py
url(r'^$', home), # (match/and nothing else)
url(r'^fa/$', home), # (match /fa and nothing else)
url(r'^en/$', en_home), # (match /en and nothing else)
url(r'^fa', include('ir_site.urls')), # (match any path like fa/*/)
url(r'^en', include('en_site.urls')), # (match any path like en/*/)
#in ir_site.urls
urlpatterns = patterns('',
url(r'contact/$', views.static_contact) # (match fa/contact)
)
urlpatterns += patterns('django.contrib.flatpages.views',
(r'^(?P<url>.*/)$', 'flatpage'), # (match any fa/*/ not resolved or 404)
)
#in en_site.urls
urlpatterns = patterns('',
url(r'contact/$', views.static_contact) # (match en/contact)
)
urlpatterns += patterns('django.contrib.flatpages.views',
(r'^(?P<url>.*/)$', 'flatpage'), # (match any en/*/ not resolved or 404)
)
我有以下的平坦页
个/en/test/
/fa/test/
/test/
/en/test2
测试的结果:
/ - Fine
/en - Fine
/fa - Fine
/test - Fine
/fa/test - Fine
/en/test - Extra/is appended results in 404
/en/test2 - Fine, but uses the flatpages template in the ir_site app
/en/contact - Fine
/fa/contact - Fine
我有一种感觉,问题是(R“^ FA”)和(R“^恩”)不与闭锁正常工作,所有的flatpages但我不知道如何看到为什么这是因为我在这个阶段缺乏任何一种调试技巧。
帮助非常感谢...
嗯,试过这个,但它没有改变。问题是平板电脑网址,而不是总是解决好的联系网址。此外,它似乎恩/测试不会解决,因为Django解析为/ en /测试/ /(双斜杠)这是一个404 – rix
请参阅我的编辑更改flatpage urlpattern。 – schillingt
对不起,但不知道为什么将'。*'改为'[ - \ w] +'会有帮助? (我试过了,它没有..)问题是肯定与包括虽然当我评论'r'^ fa /'和'r'^ en /'平面网页仍然解决。问题是ir_site.urls和en_site.urls中的catchall模式 – rix