Django 如何写出相应的“注释”;处理“上传的”文件;对于模型字段和表单?

Django 如何写出相应的“注释”;处理“上传的”文件;对于模型字段和表单?,django,Django,我不知道如何编写路径和以下代码? 为什么您想自己处理文件附件,django会帮您处理的 在这里。我以前用过几次,我记不清了,但用下面的东西一定能完成任务 首先,从相关模型创建表单: def submit_question(request): current_user = request.user url = '/question/list_questions/' if request.method == 'POST': form = QuestionFo

我不知道如何编写路径和以下代码?


为什么您想自己处理文件附件,django会帮您处理的

在这里。我以前用过几次,我记不清了,但用下面的东西一定能完成任务

首先,从相关模型创建表单:

def submit_question(request):
    current_user = request.user
    url = '/question/list_questions/'

    if request.method == 'POST':
        form = QuestionForm(request.POST, request.FILES)
        if form.is_valid():
            handle_uploaded_file(request.FILES['attachment'], current_user)  

            new_question = Question(question = form.cleaned_data['question'],
                                    question_type= form.cleaned_data['question_type'],
                                    country = form.cleaned_data['country'], 
                                    submitter = form.cleaned_data['submitter'],
                                    is_private = form.cleaned_data['is_private'],
                                    #attachment = temp_attachment,
                                    )
            new_question.save()

            return HttpResponseRedirect(url)
    else:
        form = QuestionForm()

    context = {'form': form,}
    context.update(csrf(request))
    return render_to_response('question/submit.html', context)
然后在视图中创建表单实例

class SomeFormWithFileForm(forms.ModelForm):
class Meta:
    model = SomeModel

会成功的。

是的,就是这样。使用起来很好。事实上,我真的很想定制文件的路径名,而不仅仅是按照文档所说的日期。在这种情况下,文档保存在哪个位置?我的意思是,是否有任何位置我可以看到我的文档被真正保存?因为我需要处理文档,以便通过电子邮件将文档发送给其他人。我修复了链接并将其设置为django文档的开发版本。如果您使用的是文件系统存储(或较旧版本的django,
settings.py
中没有可用的存储类型选项),它将保存到
settings.py
文件中定义的
MEDIA\u ROOT
位置。如果在
Model.FileField
中指定
uplaod\u to
参数,则它将位于
MEDIA\u ROOT
class SomeFormWithFileForm(forms.ModelForm):
class Meta:
    model = SomeModel
form = SomeFormWithFileForm(request.POST, request.FILES)
if form.is_valid():
    form.save()