【问题标题】:django template anchor tag not workingdjango模板锚标签不起作用
【发布时间】:2016-03-22 06:52:06
【问题描述】:

我的网页中有一个标题,该标题中有一个徽标。我想在该徽标中插入一个锚标记,该标记指向我的主页,即 index.html 页面,尽管调用了哪个视图或页面。我创建了一个base.html,其中的一个sn-p是:

<div class="header">
            <div class="inner_header">
                <div class="logo">

                    <a href='#'><img src="{% static 'images/logo.png' %}" alt="logo" /> </a>

                </div>

我已将此 base.html 扩展到我的所有其他模板文件

指向我的索引页面和其他页面的 url 模式是这样的:

 urlpatterns = patterns('',
        url(r'^$', views.index, name='index'),
        url(r'^category/(?P<category_name_slug>[\w\-]+)/$', views.category, name='category'),
        url(r'^latest/(?P<latest_title_slug>[\w\-]+)/$', views.latest, name='latest'),
        url(r'^headline/(?P<heading_title_slug>[\w\-]+)/$', views.headline, name='headline'),)

我尝试过使用&lt;a href="index.html"&gt;,&lt;a href=''&gt; 和其他一些不会产生预期结果或出错的东西。在不编写大量代码的情况下执行此操作的适当方法是什么?

【问题讨论】:

  • 你试过了吗:&lt;a href="{% url 'index' %}"&gt;
  • href=# 不指向不同的页面,例如在索引中,它只是一个空书签。
  • 感谢@RohitJain 帮助

标签: python django django-templates django-urls


【解决方案1】:

Rohit Jain 关于使用url 模板标签的建议是正确的

<a href="{% url 'index' %}">

但这可能有助于了解您当前的方法在做什么

  • &lt;a href='#'&gt; - 这试图链接到您页面上的 id 元素,但由于您没有提供 id 名称,它只是指页面本身。它不会重定向到任何地方
  • &lt;a href="index.html"&gt; - 您正在尝试直接引用模板,但您没有将这个 url 映射到随后将显示该模板的视图的 urlpattern
  • &lt;a href=''&gt; - 这与使用 # 几乎相同,因为您不会更改要附加到的链接

您可能在&lt;a href="/"&gt; 上取得了一些成功,但同样,这不是在 django 中执行此操作的正确方法,因为您将来可能会决定更改与特定视图匹配的 url 模式(即您决定添加 i18n 模式)所以你应该总是尝试使用url模板标签。

【讨论】:

    猜你喜欢
    • 2019-10-07
    • 2011-04-28
    • 1970-01-01
    • 2012-08-23
    • 2019-06-24
    • 2016-01-29
    • 2011-01-06
    • 1970-01-01
    • 2016-05-14
    相关资源
    最近更新 更多