django项目实战十四(django+bootstrap实现增删改查)进阶混合数据使用modelform上传
创始人
2024-05-26 19:49:28
0

目录

一、启用media

 1、URL设置

 2、settings.py配置

 二、url

 三、upload.py 新增upload_modelform方法

 四、form.py新增UpModelForm

五、创建city表

六、创建city_list.html


接上一篇《django项目实战十三(django+bootstrap实现增删改查)进阶混合数据form上传图片》

知识点:1、media启用

一、启用media

在 Django 的开发中有两个特殊的文件夹:

  • static: 存放静态文件
  • media:存放用户上传的数据,但是使用 media 需要做一些配置

 1、URL设置

re_path(r'^media/(?P.*)$', serve, {'document_root': settings.MEDIA_ROOT}, name='media'),

 2、settings.py配置

MEDIA_ROOT = os.path.join(BASE_DIR, "media")
MEDIA_URL = '/media/'

这样设置之后,上一篇可以修改一下

 

 二、url

 

 三、upload.py 新增upload_modelform方法

def upload_modelform(request):"""modelform上传"""title = "ModelForm上传"if request.method == 'GET':form = UpModelForm()# print(form)return render(request, 'upload_form.html', {"form": form, "title": title})form = UpModelForm(data=request.POST, files=request.FILES)if form.is_valid():form.save()redirect('/city/list/')return render(request, 'upload_form.html', {"form": form, "title": "form上传"})

 四、form.py新增UpModelForm


class UpModelForm(BootStrapModelForm):#  img 字段不使用bootstrap样式bootstrap_exclude_fields = ['img']class Meta:model = models.Cityfields = "__all__"

五、创建city表


class City(models.Model):"""城市"""name = models.CharField(verbose_name='名称', max_length=32)count = models.IntegerField(verbose_name='人口')# FileField本质上也是CharField,FileField自动保存数据img = models.FileField(verbose_name='LOGO', max_length=128, upload_to='city/')

六、创建city_list.html

{% extends 'layout.html' %}
{% block title %}城市列表
{% endblock %}
{% block content %}
新建
{ search_data }}">
城市列表
{% for obj in query_set %}{% endfor %}
序号LOGO名称人口操作
{{ obj.id }}{ obj.img }}" style="height: 80px;">{{ obj.name }}{{ obj.count }}
    {{ page_string }}
{% endblock %}

 

 

相关内容

热门资讯

【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
AsusVivobook无法开... 首先,我们可以尝试重置BIOS(Basic Input/Output System)来解决这个问题。...
ASM贪吃蛇游戏-解决错误的问... 要解决ASM贪吃蛇游戏中的错误问题,你可以按照以下步骤进行:首先,确定错误的具体表现和问题所在。在贪...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...