当我尝试在我的Django应用程序中上传图像时,我收到错误“这是必填字段” . 即使我实际上传了一张图片 . 它在Admin中工作正常,但在App本身中没有 . 这里分别是models.py,forms.py和View .
models.py
class Blog(models.Model):
BLOG_CATEGORIES = (
( 'T', 'Technology'),
( 'B', 'Business' ),
( 'C', 'Culture' ),
( 'N', 'None' )
blogger = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.Cascade)
date_added = models.DateField(auto_now_add=True)
blog_post = models.TextField(max_length=2000)
blog_category = models.CharField(max_length=20, choices=BLOG_CATEGORIES
blog_name = models.CharField(max_length=20, primary_key=True)
blog_picture_context = models.ImageField(upload_to='/static/homepage/', max_length=250)
def __unicode__(self):
return '{} created this entry on {}'.format(self.blogger, self.date_added)
def __str__(self):
return '{} created this entry on {}'.format(self.blogger, self.date_added)
forms.py
class BLogForm(models.ModelForm):
class Meta:
model = Blog
fields = ['blogger', 'date_added', 'blog_post', 'blog_category', 'blog_name', 'blog_picture_context']
views.py
class BlogView(LoginRequiredMixin, FormView):
template_name = 'blog_form.html'
form_class = BlogForm
success_url = '/'
login_url = 'users/login/'
同样,仅针对上下文,我试图在运行开发服务器的应用程序中执行此操作 . 它在ImageField上方给出了错误 .
1 回答
也许在表单模板中尝试以下操作:
multipart / form-data - 必需,以便服务器可以将其视为文件并让它上传 .