【问题标题】:how to use the href attribute in django templates如何在 django 模板中使用 href 属性
【发布时间】: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 成功了,感谢您的帮助

标签: python django url href


【解决方案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>
    

    【讨论】:

      猜你喜欢
      • 2019-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-19
      • 2014-07-11
      • 2015-09-07
      • 1970-01-01
      相关资源
      最近更新 更多