陕西建设网网站集群,济南app开发制作,阳江网站制作公司,广州企业网站seo目录
一、启用media 1、URL设置 2、settings.py配置 二、url 三、upload.py 新增upload_modelform方法 四、form.py新增UpModelForm
五、创建city表
六、创建city_list.html 接上一篇《django项目实战十三#xff08;djangobootstrap实现增删改查#xff09;进阶混合数据f…目录
一、启用media 1、URL设置 2、settings.py配置 二、url 三、upload.py 新增upload_modelform方法 四、form.py新增UpModelForm
五、创建city表
六、创建city_list.html 接上一篇《django项目实战十三djangobootstrap实现增删改查进阶混合数据form上传图片》 知识点1、media启用 一、启用media
在 Django 的开发中有两个特殊的文件夹
static 存放静态文件media存放用户上传的数据但是使用 media 需要做一些配置1、URL设置
re_path(r^media/(?Ppath.*)$, serve, {document_root: settings.MEDIA_ROOT}, namemedia), 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(datarequest.POST, filesrequest.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_length32)count models.IntegerField(verbose_name人口)# FileField本质上也是CharFieldFileField自动保存数据img models.FileField(verbose_nameLOGO, max_length128, upload_tocity/)六、创建city_list.html
{% extends layout.html %}
{% block title %}title城市列表/title
{% endblock %}
{% block content %}div classcontainerdiv stylemargin-bottom: 10pxa classbtn btn-success href/upload/modelform/span classglyphicon glyphicon-plus-sign aria-hiddentrue/span新建/adiv stylefloat: right;width: 300pxform methodgetdiv classinput-groupinput typetext nameq classform-control placeholder请输入城市名称value{{ search_data }}span classinput-group-btnbutton classbtn btn-default typesubmitspan classglyphicon glyphicon-search aria-hiddentrue/span/button/span/div/form/div/divdiv classbs-example data-example-idpanel-without-body-with-tablediv classpanel panel-default!-- Default panel contents --div classpanel-headingspan classglyphicon glyphicon-th-list aria-hiddentrue/span城市列表/div!-- Table --table classtable table-borderedtheadtrth序号/ththLOGO/thth名称/thth人口/thth操作/th/tr/theadtbody{% for obj in query_set %}trth scoperow{{ obj.id }}/thtdimg src/media/{{ obj.img }} styleheight: 80px;/tdtd{{ obj.name }}/tdtd{{ obj.count }}/td/tr{% endfor %}/tbody/table/div/divul classpagination{{ page_string }}/ul/div{% endblock %}