社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Django

如何用modelform更新django 2.1中的图像?[复制品]

Sarindra Therese • 5 年前 • 1384 次点击  

嘿,我在这个网站上的第一个问题,对不起我的英语。所以我尝试在django框架中的模型上上传一个文件。

class banner(models.Model):
#id is made by Django
name = models.CharField(max_length=255)
created_by = models.CharField(max_length=255)
company = models.CharField(max_length=255)
register_date = models.DateField(auto_now_add=True)
file = models.FileField(null=True, blank=True)
file_name = models.CharField(max_length=255)

这是模型

class BannerForm(forms.Form):
name=forms.CharField(max_length=255)
created_by=forms.CharField(max_length=255)
company=forms.CharField(max_length=255)
data_type=forms.CharField(max_length=255)
register_date=forms.DateField()
file=forms.FileField()
file_name=forms.CharField(max_length=255)

这是表格

定义添加表单(请求): 表单=bannerform() last=models.banner.objects.all().last()

if request.method == "POST":
    form = forms.BannerForm(request.POST, request.FILES or None)
    if form.is_valid():
        form.cleaned_data['created_by']
        new_banner=models.banner()
        new_banner.id=last.id+1
        new_banner.name=form.cleaned_data['name']
        new_banner.register_date=form.cleaned_data['register_date']
        new_banner.company=form.cleaned_data['company']
        new_banner.file=form.cleaned_data['file']
        new_banner.file_name=new_banner.file.name
        new_banner.created_by=form.cleaned_data['created_by']
        new_banner.save()

return render(request, "add_banner.html",{"form":form})

这是视图。现在每当我试图添加一个横幅。我浏览文件,但在我按下提交后,它是必须选择的文件,就像它不识别我浏览到的表单按钮。有什么建议吗?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/42986
 
1384 次点击  
文章 [ 3 ]  |  最新文章 5 年前