Django上传文件? 如何使用Django上传文件?

Django上传文件? 如何使用Django上传文件?,django,Django,我跟着 在这里,我没有得到任何错误,但当我提交我的表格,另一个 表单中的详细信息已保存到数据库中。但是我上传的文件没有保存在任何地方 /models.py/ /forms.py/ /views.py/ /resume.html/ /settings.py/在设置中,我的媒体路径和url为。。 这是我的代码。 如果有,请修复我的错误?您必须使用form.save()而不是手动保存它 def resview(request): if request.method == "POST":

我跟着

在这里,我没有得到任何错误,但当我提交我的表格,另一个 表单中的详细信息已保存到数据库中。但是我上传的文件没有保存在任何地方

/models.py/ /forms.py/ /views.py/ /resume.html/ /settings.py/在设置中,我的媒体路径和url为。。 这是我的代码。
如果有,请修复我的错误?

您必须使用
form.save()
而不是手动保存它

def resview(request):
    if request.method == "POST":
        form = resmodelForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
            return render_to_response('/profile/save/success/')
    else:
        form = resmodelForm()
    return render_to_response('resume.html')
您忘记将
enctype=“multipart/form data”
放入


{%csrf_令牌%}
..........

也许你应该发布你创建的代码,而不是给链接。嘿,这很好,非常感谢。你能告诉我一些不使用表单上传文件的技巧吗?这是可能的,但是你的其他字段呢?在这个意义上的其他字段?我指的是其他字段,
resume\u标题
。没关系,我会帮你创建另一个问题。是的,简历头和文件名保存到数据库中。我的文件已保存到“媒体/文档”文件夹中。我看到了你的博客,它很棒。
class resmodelForm(ModelForm):
class Meta:
    model = resmodel
def resview(request):
if request.method == "POST":
    form = resmodelForm(request.POST, request.FILES)
    if form.is_valid():
        a = resmodel(resume_header=resume_header, upload_resume = request.FILES['upload_resume'])
        a.save()
        return render_to_response('/profile/save/success/')
else:
    form = resmodelForm()
    return render_to_response('resume.html', {'form': form})
return render_to_response('resume.html')
<form action="." method="post" >{% csrf_token %}
<table border="0" align="center" cellsapcing="1" cellspadding="1">
<tr>
    <td colspan="2"><h3> Personal Information</h3></td>
</tr>
<tr>
    <td>Resume Header<sub>(250 words max)</sub></td>
    <td><input type="text" name="resume_header"></td>
</tr>

<tr>
    <td>Upload Resume<sub>(.doc/.docx, rtf, pdf, txt)</sub></td>
    <td><input type="file" name="upload_resume" ></td>
</tr>
<tr>
    <td>
        <input type="submit" value="SUBMIT">&nbsp;&nbsp;
        <input type="reset" value="RESET">
    </td>
</tr>
</table>
</form>
urlpatterns = patterns('', (r'^profile/$', resview),)
CURRENT_DIR = os.path.dirname(os.path.abspath(__file__))
MEDIA_ROOT = os.path.join(CURRENT_DIR, 'media')
MEDIA_URL = '/var/www/uploadresume/resume/media/'
def resview(request):
    if request.method == "POST":
        form = resmodelForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
            return render_to_response('/profile/save/success/')
    else:
        form = resmodelForm()
    return render_to_response('resume.html')
<form action="." method="post" enctype="multipart/form-data">
    {% csrf_token %}
    ..........
</form>