在Django模板中,上下文中是否有变量(例如{{ BASE\_URL }}{{ ROOT\_URL }}{{ MEDIA\_URL }}可以用来链接到项目的home url?

即。如果Django在项目的根目录中运行,则模板中的变量(让我们称之为R){{ R }}将是/。如果根URL是子文件夹http://host/X/,则变量/X/将<=>(或<=>)。

看起来很简单,但我找不到答案。 :)谢谢!

有帮助吗?

解决方案

您可以提供用于处理主页名称的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中的这个注释提供了一些关于将应用程序部署到子目录的提示:

http://www.djangobook.com/en/1.0/chapter20/ #CN43

其他提示

我总是使用像<a href="/">这样的东西(当然,假设你的家就在根)。我似乎记得曾经这样看过一次,并且找不到这条路径的Django变量;无论如何,/似乎很容易。

在您的管理员中,转到<!>“; sites <!>”;并设置域名。

context_instance=RequestContext(request)传递给相关模板。

现在在任何这些模板中使用{{ SITE_URL }},你就是金色的。

Django Book第10章提供的信息超出了您的需求注册上下文处理器位。

(r'^$', 'django.views.generic.simple.redirect_to', {'url': '/home/'}),

工作正常:)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top