整天都在寻找,希望有人能给我一个答案。
根据打开的页面,有人可以建议如何在上传文件时让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)
)
答案 0 :(得分:0)
您可以使用request.get_full_path()
获取所请求页面的路径。