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