在开发模式下链接Django站点之外

时间:2014-02-14 04:27:25

标签: python django

我正在本地服务器上测试django网站:http://127.0.0.1:8000/

网站内部链接都很好用,甚至是静态链接。但是,当我尝试链接到我的博客模型的文本字段中的<a href="http://google.com">google</a>作为文本的外部链接时,它不会正确呈现链接。然后,该博客模型将作为| safe(以便呈现html)传递给模板,而链接则尝试将所有内容附加到静态根目录:

http://127.0.0.1:8000/blog/view/http://google.com

任何人都知道如何保持我的静态链接正常工作,但仍然有链接超出网站?

修改 例如,这是一篇博客文章,存储在我的博客应用程序内的管理员TextField()中。博客文章有一些链接。 /static/mytextfile的链接可以正常工作,因为它会将其附加到http://127.0.0.1:8000/。但是,github链接无法正常工作,因为它尝试将github链接附加到http://127.0.0.1:8000/,因此输出的html创建"http://127.0.0.1:8000/http://github.com/"

<p><b>The Code</b><br>
<a href=”http://github.com/”>GitHub</a>

<p><b>Example Outputs</b>
<br><a href="/static/mytextfile.txt">a text file</a>

这是我得到的404错误:

Page not found (404)
Request Method: GET
Request URL:    http://127.0.0.1:8000/blog/view/%E2%80%9Dhttp://github.com/%E2%80%9D

编辑2:

这就是我一直在'转义'html过滤器的方式。到目前为止,单独离开我的<p>等一切正常。但是,我不会单独留下href个链接!

{% autoescape off %}
{% block content %}
    <p>{{ post.body|safe }}</p>
{% endblock %}
{% endautoescape %}

2 个答案:

答案 0 :(得分:2)

GitHub链接的双引号字符似乎有问题。

而不是:

<p><b>The Code</b><br>
<a href=”http://github.com/”>GitHub</a>

尝试:

<p><b>The Code</b><br>
<a href="http://github.com/">GitHub</a>

答案 1 :(得分:0)

我认为你应该尝试<a href="http://www.google.com">google</a>