Django 管理列表视图中正确的 url

发布于 2024-10-11 07:21:55 字数 586 浏览 1 评论 0原文

我当前的目标是让用户有机会从我的应用程序的管理站点下载 CSV 文件。

我成功地以这种方式在模型的列表视图中创建了一个附加列:

 def doc_link(self):
    return '<a href="files/%s">%s</a>' % (self.output, self.output)
 doc_link.allow_tags = True

这显示了文件名并创建了链接,但遗憾的是 - 因为它位于我的“搜索”视图中 - 它有一个 URL:

my_site/my_app/searches/files /13.csv。

这是我的问题,我希望将我的文件存储在管理媒体目录中,如下所示:

http:// /my_site/media/files/13.csv

有人知道如何给出指向模型目录“外部”的网址吗? 也许以某种方式告诉 Django 在链接中使用 ADMIN_MEDIA_PREFIX ?

我真的很感激任何帮助,谢谢!

My current target is to give users the chance to download CSV files from the admin site of my application.

I successfully managed to create an additional column in the model's list view this way:

 def doc_link(self):
    return '<a href="files/%s">%s</a>' % (self.output, self.output)
 doc_link.allow_tags = True

This shows the file name and creates the link, but sadly - because it's inside my 'searches' view - it has an URL:

my_site/my_app/searches/files/13.csv.

This is my problem, I would like to have my files stored in the admin media directory, like this:

http://my_site/media/files/13.csv

Does somebody know how to give url which points "outer" from the model's directory?
Maybe somehow tell Django to use the ADMIN_MEDIA_PREFIX in the link?

I'd really appreciate any help, thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

青春如此纠结 2024-10-18 07:21:55

我觉得您回答了自己的问题 :)

如果您愿意的话,是什么阻止您使用 ADMIN_MEDIA_PREFIX

我认为您使用 ADMIN_MEDIA_PREFIX 很奇怪,因为那是您的管理媒体所在的位置 - 您不应该在那里保存任何内容,所以可能更像您的 MEDIA_URL

from django.conf import settings


def doc_link(self):
    return '<a href="%sfiles/%s">%s</a>' % (settings.MEDIA_URL, self.output, self.output)
 doc_link.allow_tags = True

I feel like you answered your own question : )

What's stopping you from using ADMIN_MEDIA_PREFIX if you want to?

I think it's strange you would use ADMIN_MEDIA_PREFIX since that's where your admin media lives -- you shouldn't be saving anything there, so maybe more like your MEDIA_URL.

from django.conf import settings


def doc_link(self):
    return '<a href="%sfiles/%s">%s</a>' % (settings.MEDIA_URL, self.output, self.output)
 doc_link.allow_tags = True
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文