在Django模板中,上下文中是否有变量(例如{{ BASE\_URL }}
,{{ ROOT\_URL }}
或{{ MEDIA\_URL }}
可用于链接到home
的网址项目
即。如果Django在项目的根目录中运行,则模板中的变量(我们称之为R){{ R }}
将为/
。如果根网址是子文件夹http://host/X/
,则变量{{ R }}
将为/X/
(或http://host/X/
)。
看起来很简单,但我找不到答案。 :)谢谢!
答案 0 :(得分:37)
您可以提供用于处理主页名称的URL配置并使用:
urls.py:
from django.conf.urls.defaults import *
urlpatterns = patterns('myproject.views',
url(r'^$', 'index', name='index'),
)
模板:
<a href="{% url index %}">...
UPDATE:较新版本的Django需要在视图名称周围加上引号:
<a href="{% url 'index' %}">...
Django Book中的这个注释提供了一些关于将应用程序部署到子目录的提示:
答案 1 :(得分:10)
我总是使用像<a href="/">
这样的东西(当然,假设你的家就在根)。我似乎记得曾经这样看过一次,并且找不到这条路径的Django变量;无论如何,/
似乎很容易。
答案 2 :(得分:4)
在您的管理员中,转到“网站”并设置域名。
将context_instance=RequestContext(request)
传递给相关模板。
现在在任何这些模板中使用{{ SITE_URL }}
,你就是金色的。
Chapter 10 of the Django Book提供的信息多于您需要重新登记上下文处理器位的信息。
答案 3 :(得分:1)
(r'^$', 'django.views.generic.simple.redirect_to', {'url': '/home/'}),
工作正常:)