作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 django 的新手,现在正在练习它。我正在创建图像上传系统,但即使我可以通过管理员发布和保存数据,我也无法上传图像。这是我的代码。
models.py
class Item(models.Model):
title = models.CharField(max_length=50)
image = models.ImageField(upload_to='item', max_length=255)
price = models.DecimalField(max_digits=4, decimal_places=1)
description = models.TextField()
created = models.DateTimeField(auto_now_add=True)
user = models.ForeignKey(settings.AUTH_USER_MODEL , on_delete=models.CASCADE)
forms.py
class ItemForm(forms.ModelForm):
class Meta:
model = Item
fields = ['title', 'image', 'price', 'description']
widgets = {'text': forms.Textarea(attrs={'cols': 80})}
views.py
def sell_item(request):
if request.method != 'POST':
form = ItemForm()
else:
form = ItemForm(data=request.POST)
if not form.is_valid():
raise ValueError('invalid form')
new_item = form.save(commit=False)
new_item.user = request.user
new_item.save()
return HttpResponseRedirect('mainapp:index')
return render(request, 'mainapp/sell.html', {'form': form})
这是该部分的 html 代码。
<form method="POST" enctype="multipart/form-data">
{% csrf_token %}
{{ form.as_p }}
<br />
<button type="submit" class="btn btn-success">submit</button>
</form>
当我填写数据并提交它们时,它会引发 ValueError。表单看起来不错,所以我猜想如何保存图像数据或 html 代码存在问题,但我不明白如何解决这个问题。请帮忙。
最佳答案
你不是 passing request.FILES
to your form当你初始化它的时候。传递如下:
form = ItemForm(request.POST, request.FILES)
关于python - Django ;无法上传图片且表单数据无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51006743/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!