如何在 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】:我总是使用<a href="/">
之类的东西(当然,假设您的家位于根目录)。我似乎记得曾经查找过这个,但找不到该路径的 Django 变量;无论如何,/
似乎很容易,无论如何。
【讨论】:
以上是关于如何在 Django 中放置指向网站主页的链接/网址?的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法用 Shiny R 在 textInput 中放置超链接
如何在 CircleAvatar 上放置指向菜单的链接?有可能吗?