Djongo反向生成Web表单,页面文件上传,调用静态文件资源
来源:互联网 发布:mac book怎么样 编辑:程序博客网 时间:2024/06/08 06:41
Djongo反向生成文表单
新建一个forms.py的文件:
这里面写反向生成表单的内容:
Djongo的反向生成表单是靠Djongo的一个forms模块,所以我们要导这个模块。
from django import formsfrom school.models import *class mydate(): passclass CanCatForm(forms.Form): #创建一个类 tel = forms.CharField(label="电话",max_length=20) #这是一个文本框 label属性是的文本解释,max_length是这个文本框的最大长度。 QQ = forms.CharField(label="QQ号",max_length=50) Email = forms.EmailField(label="邮箱",max_length=50) isForeign = forms.BooleanField(label="户籍",initial=True) #复选按钮 initial 是否 likes =forms.ChoiceField(label= "爱好",choices=(("体育","体育"),("音乐","音乐"),("画画","画画")),widget=forms.CheckboxSelectMultiple) roleName = forms.ChoiceField(choices=(("群众","群众"),("政治家","政治家")),widget=forms.RadioSelect) city = likes =forms.ChoiceField(label= "城市",choices=(("北京","北京"),("纽约","纽约"),("莫斯科","莫斯科"))) date = forms.DateField(label="注册时间",widget=forms.DateInput) img = forms.FileField(label="头像")class studentForm(forms.ModelForm): student_sex=( ('男','男'), ('女','女'), ) student_likes =( ('游泳','游泳'), ('打篮球','打篮球'), ) #name = forms.CharField(label="姓名") sex = forms.ChoiceField(label="性别", choices=student_sex,widget=forms.RadioSelect) likes = forms.MultipleChoiceField(label="爱好",choices=student_likes,widget=forms.CheckboxSelectMultiple) class Meta: model = Student fields = '__all__' #['name','age','sex','grade']
这样我们就不用自己在html中画表单了,只要把表单对象传过去就可以在html中使用,同时还提供了许多便利的方法操作相关联的实力类。
比如is_valid()方法就是验证表单是否合法,.save()方法可以直接把数据保存到数据库。
文件上传
form.FileField() #用于手动编写 model.FileFileld(upload_to ='' )#用在自动保存上传文件
首先进行上传路径的设置
settings.py:
MEDIA_ROOT = os.path.join(BASE_DIR, 'upload') #文件路径不是绝对路径是项目路径MEDIA_URL = '/upload/'
配置urls.py:
urlpatterns = [ url(r'^admin/', admin.site.urls),] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) #<--
我们在创建表单对象的时候代码从#1变成#2
form = StudentForm(request.POST)#1form = StudentForm(request.POST, request.FILES)#2
表单设置
<form action="addStudent2" method="post" ENCTYPE="multipart/form-data">
models设置
imgPath = models.FileField(verbose_name='头像', null=True, upload_to='student')
这样我们就可以进行文件上传,表单模型的.save()可以直接进行保存,把文件保存到指定路径,把地址保存到数据库
if form.is_valid(): form.save() print(stu.imgPath)
Django 静态资源
配置静态文件
我们在web开发中要用到CSS等文件,在Django中要想调用这些文件,就需要配置一个静态文件夹。
首先是settings.py:
STATICFILE_DIR=( os.path.join(BASE_DIR, 'static'))STATIC_URL = '/static/'
然后是urls.py
urlpatterns = [ url(r'^admin/', admin.site.urls),] + static(settings.STATIC_URL, document_root=settings.STATICFILE_DIR)
配置静态文件和文件上传路径都需要导入两个模块。
from django.conf import settingsfrom django.conf.urls.static import static
阅读全文
0 0
- Djongo反向生成Web表单,页面文件上传,调用静态文件资源
- Djongo页面文件上传,调用静态文件资源
- java web项目中上传文件、图片、freemarker生成静态页面路径问题
- WEB页面_文件上传(表单提交和ocupload)
- web页面之上传文件
- asp生成静态页面(抓取动态页面 生成静态文件)
- asp生成静态页面(抓取动态页面 生成静态文件)
- 页面的form表单上传文件
- 迁移文件反向生成
- python django框架反向生成页面表单
- 表单里文件上传
- form表单上传文件
- form表单上传文件
- PHP 表单上传文件
- 表单上传文件
- 表单上传文件相关
- jsp表单文件上传
- Form表单文件上传
- hdu 2159 FATE(二维费用背包)
- 二叉树遍历理解——递归及非递归方法中栈的利用
- NC单据不存在通知消息报错
- 面试中线程相关问题(补充ing.....)
- jsp时间格式化
- Djongo反向生成Web表单,页面文件上传,调用静态文件资源
- Spring mvc 注解
- Linux vmstat命令实战详解
- 我笑红尘
- 移动场景下通信协议Json,FlatBuffers、ProtocolBuffers、MessagePack选优
- 蓝桥杯_李白喝酒问题(回溯+暴力)
- 清除浏览器select样式
- 《投资买房策略》项目分析报告
- Beta 函 數和 Gamma 函 數 的 關 係