【问题标题】:my hyperlink generated in django doesn't work我在 django 中生成的超链接不起作用
【发布时间】:2016-03-11 03:47:54
【问题描述】:

所以我有以下环境; django 1.8apacheubuntu 14 上启用 mod_wsgimod x-sendfile

我有一个非常简单的视图来服务器文件如下:

def foo(request, filename):
    response = HttpResponse()
    response['Content-Disposition'] = 'attachment; filename={0}'.format(filename)
    response['X-Sendfile'] = "/home/amir/DjV/Files/{0}".format(filename)
    return response

这是我关于视图的 urlconf:

url(r'^foo/(.+)/$', foo)

我编写了一个 sn-p,它生成要在下载列表中显示的文件的绝对路径。如果我在浏览器中输入生成的路径,它们就可以正常工作;但是如果我将它们用作超链接,则单击它会转到空白页面。例如,这里是我提到的 sn-p 生成的 url 之一:

http://192.168.43.6:8000/foo/uuid.txt

它工作正常,我可以下载 uuid.txt,但是当我将它放入 django 模板如下时,它不起作用:

<a href="192.168.43.6:8000/foo/uuid.txt">192.168.43.6:8000/foo/uuid.txt </a>

我的问题是:为什么我的链接在手动输入时可以正常工作,但在用作超链接时却不行?可能是因为是本地地址吗?我该如何解决?

【问题讨论】:

    标签: python html django hyperlink


    【解决方案1】:

    当你做这些事情时,你需要在你的模板中指定一个协议:

    <a href="http://192.168.43.6:8000/foo/uuid.txt">192.168.43.6:8000/foo/uuid.txt </a>
    

    但是,如果 URL 是在 Django 应用程序中处理的,则不应以这种方式对 URL 进行硬编码。检查 {% url %} 模板是否对您有好处

    【讨论】:

    • 非常感谢;我一定会查看 url 标签。
    猜你喜欢
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 2017-07-06
    • 2013-05-22
    • 2015-07-31
    • 1970-01-01
    • 2013-12-31
    • 2011-08-10
    相关资源
    最近更新 更多