如何在 django 模板中使用 href 属性
Posted
技术标签:
【中文标题】如何在 django 模板中使用 href 属性【英文标题】:how to use the href attribute in django templates 【发布时间】:2013-06-16 12:39:52 【问题描述】:当我尝试在我的 Django 模板中使用从 /appname/index/
到 /appname/detail/###
的链接时,我正在访问 /appname/index/detail/###
这不是我想要的,所以我的应用程序找不到它当然在 urlconf 中。
首先是详细页面的 urls.py 行
url(r'detail/(?P<jobID>\d+)/$', 'appname.views.detail')
另外,根 urlconf
urlpatterns = patterns('',
url(r'^appname/', include('appname.urls')),
url(r'^admin/', include(admin.site.urls)),
)
接下来是试图到达那里的模板代码
% for job in jobList %
<a href="detail/ job.id /"> job.name </a>
我不确定还有哪些适用的信息,请问您是否想查看其他信息。我也试过了:
<a href="% url 'appname.views.detail' %/ job.id "> job.name </a>
但这也没有用。提前感谢您的帮助。
【问题讨论】:
root ulrconf 是如何定义的?将 URL 前缀添加到/detail...
那么你需要/appname/detail/job_id/
检查@Aamir 的第二个答案。那应该有效
@karthikr 成功了,感谢您的帮助
【参考方案1】:
在href
的开头添加/
:
<a href="/appname/detail/ job.id /"> job.name </a>
要使url
标签起作用,您需要这样做:
<a href="% url 'appname.views.detail' jobID=job.id %"> job.name </a>
【讨论】:
这两种方法都为我提供了与以前相同的目标 URL 如何在主 urlconf 文件中包含appname
url?【参考方案2】:
根据我的经验,只要您在urls.py
中定义了href
标签应该指向的页面的url,请包括以下格式的绝对路径。
Site name: yyyy.com
Url of page to redirect to in urls.py: yyyy.com/signup/
Sample link: <a href="/signup/">Signup</a>
您会注意到,href 标记内的内容有点附加到当前 url。对于更多动态链接,您可以使用一些 python 作为 DTL 指南。
【讨论】:
【参考方案3】:假设你在
myapp/detail
你想去页面
myapp/anything
你应该这样做
<a href="../anything">Page</a>
【讨论】:
以上是关于如何在 django 模板中使用 href 属性的主要内容,如果未能解决你的问题,请参考以下文章