如何在 Django 中放置指向网站主页的链接/网址?

Posted

技术标签:

【中文标题】如何在 Django 中放置指向网站主页的链接/网址?【英文标题】:How does one put a link / url to the web-site's home page in Django? 【发布时间】:2010-09-18 14:21:41 【问题描述】:

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

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

这似乎很简单,但我找不到答案。 :) 谢谢!

【问题讨论】:

【参考方案1】:

您可以为用于处理主页的 URL 配置命名并使用该名称:

urls.py:

from django.conf.urls.defaults import *

urlpatterns = patterns('myproject.views',
    url(r'^$', 'index', name='index'),
)

模板:

<a href="% url index %">...

更新:较新版本的 Django 需要在视图名称两边加上引号:

<a href="% url 'index' %">...

Django Book 中的这个注释有一些关于将应用程序部署到子目录的提示:

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

【讨论】:

在 Django 1.5 中我发现我必须这样做 ... (即将名称放在引号中),否则它会抱怨一个空的第一个参数。【参考方案2】:
(r'^$', 'django.views.generic.simple.redirect_to', 'url': '/home/'),

工作正常:)

【讨论】:

【参考方案3】:

在您的管理员中,转到“站点”并设置域。

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

现在在任何这些模板中使用 SITE_URL ,你就可以了。

Chapter 10 of the Django Book 拥有的信息比您重新审视该上下文处理器位所需的信息还要多。

【讨论】:

【参考方案4】:

我总是使用&lt;a href="/"&gt; 之类的东西(当然,假设您的家位于根目录)。我似乎记得曾经查找过这个,但找不到该路径的 Django 变量;无论如何,/ 似乎很容易,无论如何。

【讨论】:

以上是关于如何在 Django 中放置指向网站主页的链接/网址?的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法用 Shiny R 在 textInput 中放置超链接

如何在javascript中放置链接

底部和顶部页面的 HTML 链接 [重复]

如何在 CircleAvatar 上放置指向菜单的链接?有可能吗?

我在哪里必须在Django中放置test _ *。py文件?

单击指向另一个模板的链接时,Django 模板只会重新加载