【发布时间】:2015-07-23 11:15:25
【问题描述】:
我尝试在现场从表单中添加图像。我的表格完美地工作在 django 管理网站上。但是在现场,当我按下提交按钮时,页面重新加载,我得到了我需要再次添加图像的信息。所有信息,在我重新加载页面后,保持原样,但添加的图像消失了。
models.py
class UrlUpload(models.Model):
"""docstring for """
title = models.CharField(max_length=255)
photo = models.ImageField(upload_to='/home/mariusz/web/moje/moje/static/covers/')
timestamp = models.DateTimeField(auto_now_add=True, auto_now=False)
description = models.TextField()
category = models.CharField(max_length=100)
def __unicode__(self):
return self.title
forms.py
from django import forms
from .models import UrlUpload
class UrlUploadForm(forms.ModelForm):
class Meta:
model = UrlUpload
fields = ['title', 'description', 'category','photo']
views.py
@login_required
def profile(request):
if request.method == 'POST':
form = UrlUploadForm(request.POST, request.FILES)
if form.is_valid():
handle_uploaded_files(request.FILES['/covers/'])
return HttpResponseRedirect('profile.html') #dodac potem strone potwierdzjaca wyslanie
else:
form = UrlUploadForm()
return render_to_response('profile.html', {'form': form}, RequestContext(request))
profile.html
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">
<div class="panel-title">
<i class="glyphicon glyphicon-film"></i>
<h4>Dodaj Informacje</h4>
<form method="POST" action="">{% csrf_token %}
{{ form|crispy}}
<input class="btn btn-success" type='submit' value="Dodaj" />
</form>
</div>
</div>
</div>
</div>
【问题讨论】:
-
尝试将
enctype="multipart/form-data"添加到您的<form>。 -
我只是再补充一下。但还是不行。
-
您是否从服务器收到任何类型的响应?我想知道这是否与文件夹权限问题有关。