【发布时间】:2015-06-28 01:33:43
【问题描述】:
我是新来的,对 Django 和任何类型的 Web 开发也很陌生。 现在,我正在做一个项目,允许用户提交学术论文以供其他用户编辑。 我遇到的问题是我想允许用户上传文件并使用该文件上传有关文件的一些数据(元数据?),例如论文标题(列为 titleField)提示等。 我已经能够找到有关如何仅上传文件的答案,但无法找到有关如何将数据和文件作为一个整体上传的答案。
如果有人能对此有所了解,那将对我有很大帮助!
这里是models.py:
from django.db import models
class Document(models.Model):
docfile = models.FileField(upload_to='documents/%Y/%m/%d')
titleField = models.CharField(max_length=100, default="")
dueDateField = models.IntegerField(default=10)
classNumField = models.IntegerField(default=0)
promptField = models.CharField(max_length=300, default="")
下面是上传文件的功能。我了解这部分的工作原理,但是它正在从让我困惑的表单中上传附加数据:
views.py
def list(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('ReadMyPaper.myapp.views.list'))
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(
'myapp/list.html',
{'documents': documents, 'form': form},
context_instance=RequestContext(request)
)
【问题讨论】:
-
你能把DocumentForm的代码也贴出来吗?
标签: python django upload metadata models