【发布时间】:2020-09-17 03:05:18
【问题描述】:
我正在尝试创建一个网站,客户可以在该网站的管理部分上传文件,之后任何人都可以从该网站下载此文件。最好是任何文件,如 pdf、exe、doc(可能吗?)我可以在 Admin 中上传文件并在网站上显示。它以正确的名称下载文件(保存在媒体中)但显示失败,文件丢失。
到目前为止我有:
setting.py
STATIC_URL = '/static/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
models.py
class TEACHING(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
date_posted = models.DateTimeField(auto_now_add=True)
excercise = models.FileField(upload_to="files/", default='default value')
def __str__(self):
return self.title
views.py
def teaching(request):
context = { 'teaches' : TEACHING.objects.all()}
return render(request, 'blog/teaching.html', context)
urls.py
if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL, document_root = settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)
teaching.html
{% for teach in teaches %}
<a href="{{ teach.excercise }}" download>Download</a>
{% endfor %}
【问题讨论】:
-
您的应用中是否有 DEBUG=True,以及在您的 href 中生成的 url 是什么(浏览器中的检查元素)