【问题标题】:Link to an outside site using a URLField from a model in Django使用 Django 模型中的 URLField 链接到外部站点
【发布时间】:2014-01-09 13:09:19
【问题描述】:

有没有办法使用模板中模型中的 URLField 链接到外部站点?我将 href 链接设置为模板变量,但链接抛出 404 错误。

这是我的model.py:

class Blog(models.Model):
  # other fields
  link = models.URLField(blank=True)

views.py:

def get_context_data(self, **kwargs):
    context = super(IndexView, self).get_context_data(**kwargs)
    context['blogs'] = Blog.objects.all()[:3]
    return context

我的模板.html:

   <ul class="thumbnails">
      {% if blogs %}
        {% for blog in blogs %}
        <li class="span3"> <a class="prdocutname mb10" href="#">{{ blog.title }}</a>
          <div class="thumbnail"> <a href="#"><img alt="{{ blog.title }}" src="{{ STATIC_URL }}{{ blog.picture }}" height="222" width="300"></a>
            <div class="price">
                <ul><li>{{ blog.story_description }}</li></ul>
            </div>
            <a href="{( blog.link )}">Go to Story</a>
          </div>
        </li>
        {% endfor %}
      {% endif %}
  </ul>

虽然每次我点击链接时,它都会将我发送到这个 URL:

http://localhost:8000/%7B(%20blog.link%20)%7D

我收到 404 错误。 看起来它正在将其添加到本地主机上,而不是生成保存在模型中的绝对 URL。有没有办法解决这个问题?

我使用的是 Django 1.5、Python 2.7

亲切的问候, 亚伦

【问题讨论】:

    标签: python django


    【解决方案1】:

    应该是:

    <a href="{{ blog.link }}">Go to Story</a>
    

    使用{{ 对来呈现变量。

    【讨论】:

    • 谢谢大家!那只是一个错字。我讨厌拼写错误是事情无法正常工作的原因!
    【解决方案2】:

    应该是"{{ blog.link }}" 而不是"{( blog.link )}"

    【讨论】:

      猜你喜欢
      • 2012-01-16
      • 2014-03-13
      • 1970-01-01
      • 2013-06-01
      • 1970-01-01
      • 2014-12-23
      • 1970-01-01
      • 2010-11-04
      • 1970-01-01
      相关资源
      最近更新 更多