Проведенный весь день, поиск и надежда, что кто-то может дать мне ответ.Django 1.8 загрузка файлов для определенного места
Может кто-нибудь, пожалуйста, сообщите, как сделать Django создавать каталог файлов при загрузке файлов в соответствии с открытой страницей.
Например, мне нужно создать веб-страницу для квартир, где каждая квартира будет иметь возможность загружать файлы.
Я знаю, как загрузить в определенное место, но есть способ для Django, чтобы прочитать страницу, которая открывается и создать каталог с именем этой страницы, скажем:
www.comunity.com/main street/house5/flat 1
Я хотел бы каталог, который будет создан с помощью
main_street/house5/flat1
и изображение, которое будет храниться там.
Надеюсь, что это имеет смысл.
В настоящее время models.py
# -*- coding: utf-8 -*-
from django.db import models
class Document(models.Model):
docfile = models.FileField(upload_to='documents/%Y/%m/%d')
И в forms.py
class DocumentForm(forms.Form):
docfile = forms.FileField(
label='Pasirinkite dokumenta'
)
views.py
from newsletter.models import Document
from newsletter.forms import DocumentForm
def Main_street_6_flat_1(request):
# Handle file upload
if request.method == 'POST':
form = DocumentForm(request.POST, request.FILES)
if form.is_valid():
newdoc = Document(docfile = request.FILES['docfile'])
newdoc.save()
# Redirect to the document list after POST
return HttpResponseRedirect(reverse('Main_street_6_flat_1'))
if request.method != 'POST':
raise Http404
docId = request.POST.get('docfile', None)
docToDel = get_object_or_404(Document, pk = docId)
docToDel.docfile.delete()
docToDel.delete()
else:
form = DocumentForm() # A empty, unbound form
# Load documents for the list page
documents = Document.objects.all()
# Render list page with the documents and the form
return render_to_response(
'Main_street_6_flat_1.html',
{'documents': documents, 'form': form},
context_instance=RequestContext(request)
)
Это неуместная деталь на данный момент, но ваш пример использует непоследовательную замену символа пробела. 'main street' становится' main_street', а 'flat 1' становится' flat1'. – nothingisnecessary
Можете ли вы также показать код, который сохраняет файл в «конкретном месте», на которое вы ссылаетесь? Если вы это сделаете, я смогу настроить ответ в соответствии с вашим кодом. – nothingisnecessary
pleas see the update –