我正在使用Django 1.7和Mezzanine。帶有前綴的Django url - 無法正常工作
我的網頁的URL有前綴www.example.com/example
於是我就用:
FORCE_SCRIPT_NAME = '/example'
它爲默認頁面,如博客。博客已設置網址blog
並轉到/example/blog
。但是,如果我創建自定義鏈接(例如在管理中),它不起作用。它跳過URL中的/example
並直接轉到/
。
如何解決這個問題?
我正在使用Django 1.7和Mezzanine。帶有前綴的Django url - 無法正常工作
我的網頁的URL有前綴www.example.com/example
於是我就用:
FORCE_SCRIPT_NAME = '/example'
它爲默認頁面,如博客。博客已設置網址blog
並轉到/example/blog
。但是,如果我創建自定義鏈接(例如在管理中),它不起作用。它跳過URL中的/example
並直接轉到/
。
如何解決這個問題?
最後,我找到了解決辦法。
我在settings.py中將FORCE_SCRIPT_NAME添加到TEMPLATE_ACCESSIBLE_SETTINGS中。因此,它是看起來像現在:
TEMPLATE_ACCESSIBLE_SETTINGS = ('FORCE_SCRIPT_NAME', 'ACCOUNTS_APPROVAL_REQUIRED', 'ACCOUNTS_VERIFICATION_REQUIRED', 'ADMIN_MENU_COLLAPSED', 'BITLY_ACCESS_TOKEN', 'BLOG_USE_FEATURED_IMAGE', 'COMMENTS_DISQUS_SHORTNAME', 'COMMENTS_NUM_LATEST', 'COMMENTS_DISQUS_API_PUBLIC_KEY', 'COMMENTS_DISQUS_API_SECRET_KEY', 'COMMENTS_USE_RATINGS', 'DEV_SERVER', 'FORMS_USE_HTML5', 'GRAPPELLI_INSTALLED', 'GOOGLE_ANALYTICS_ID', 'JQUERY_FILENAME', 'LOGIN_URL', 'LOGOUT_URL', 'SITE_TITLE', 'SITE_TAGLINE', 'USE_L10N')
現在可以在模式中輕鬆擴展網址:
{{ settings.FORCE_SCRIPT_NAME }}/rest/of/url
一切正常了。
您是否在urls.py中編寫了模式?
是這樣的:
urlpatterns = patterns('',
url(r"^example/$",HandlingClass.as_view(),name='example'),)
@karthikr它應該在那裏,而不是主頁?或者「/ $」應該在那裏? HandlingClass應該是一些視圖? – matousc 2014-10-26 12:51:58