简体   繁体   English

带前缀的Django网址-无法正常工作

[英]Django url with prefix - not working correctly

I am using Django 1.7 with Mezzanine. 我正在将Django 1.7与Mezzanine一起使用。

URL of my pages has a prefix www.example.com/example 我网页的网址带有前缀www.example.com/example

So I use: 所以我用:

FORCE_SCRIPT_NAME = '/example'

It works for default pages like blog. 它适用于默认页面(例如博客)。 Blog has set url blog and it goes to /example/blog . 博客已设置url blog ,并且转到/example/blog But if I create custom link (for example in admin), it does not work. 但是,如果我创建自定义链接(例如在admin中),它将无法正常工作。 It skip /example in URL and goes directly to / . 它跳过URL中的/example并直接转到/

How to fix that? 如何解决?

Did you wrote the pattern in urls.py? 您是否在urls.py中编写了模式?

something like this: 像这样的东西:

urlpatterns = patterns('',
    url(r"^example/$",HandlingClass.as_view(),name='example'),)

Finally I found a solution. 终于我找到了解决方案。

I added FORCE_SCRIPT_NAME into TEMPLATE_ACCESSIBLE_SETTINGS in settings.py. 我在“ settings.py”中将“ FORCE_SCRIPT_NAME”添加到了TEMPLATE_ACCESSIBLE_SETTINGS中。 So it is look like that now: 所以现在看起来像这样:

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')

Now is possible to extend the urls in patterns easily: 现在可以轻松扩展模式中的URL:

{{ settings.FORCE_SCRIPT_NAME }}/rest/of/url

Everything works now. 现在一切正常。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM