【发布时间】:2020-02-17 19:57:21
【问题描述】:
我一直在使用 Django 创建一个博客共享应用程序。我正在尝试添加一个图像字段,以便用户能够上传图像并将它们作为帖子查看。但是图片没有上传。 Django 甚至没有抛出任何错误。代码运行正常,但图片没有上传。
我尝试在模板中添加“enctype”,并在 urls.py 中进行必要的更改。我什至在 settings.py 中指定了 MEDIA_ROOT 和 MEDIA_URL。 如果设置。调试: urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 我已经在我的 urls.py 中添加了这个。
我的模型.py
from django.utils import timezone
from django.contrib.auth.models import User
from django.urls import reverse
class Post(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
date_posted = models.DateTimeField(default=timezone.now)
author = models.ForeignKey(User,
on_delete=models.CASCADE,related_name='%
(app_label)s_%(class)s_related')
picture =
models.ImageField(upload_to='images',default='default.png',null=True)
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('project-home')
我的观点.py
class PostCreateView(SuccessMessageMixin,LoginRequiredMixin,CreateView):
model = Post
fields = ['title','content','picture']
success_message = 'Your submission is sucessful!'
def form_valid(self,form):
form.instance.author = self.request.user
return super().form_valid(form)
def get_success_message(self):
return self.success_message
图片未上传。提前致谢!
【问题讨论】:
-
请出示您的模板。您是否在表单元素上正确设置了
enctype? -
-
你有一个错字:
encytpe而不是enctype。 -
已更改...仍然没有更改...