Я создал шаблон для перечисления документов со ссылкой для скачивания, но вместо ссылки на:
он ссылается на:
В myapp / models.py
class Document(models.Model):
docfile = models.FileField(upload_to='documents')
В myapp / templates / myapp/list.html
<ul>
{% for document in documents %}
<li><a href="{{ document.docfile.url }}">{{ document.docfile.name }}</a></li>
{% endfor %}
</ul>
document.docfile.url ссылается на media / mydoc.csv, но файл сохраняется в media / documents / mydoc.csv
Версии
- Python: 3.7.2
- Django: 2.1.7
- ОС: Windows 10
В myapp / views.py
def myview(request):
documents = Document.objects.all()
return render(request, 'myapp/list.html', {'documents': documents})
В myapp / urls.py
app_name = 'myapp'
urlpatterns = [
path('', views.index, name='index'),
path('myview/', views.myview, name='myview'),
]
В myproject / urls.py
urlpatterns = [
path('', views.index, name='index'),
path('myapp/', include('myapp.urls')),
path('admin/', admin.site.urls),
]
In settings.py
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
Поскольку это мое первое приложение Django (и первое в истории веб-приложение), я думаю, что упустил что-то очень простое,У вас есть идея?