当前位置: 首页 > news >正文

平面设计教程网站有哪些群辉搭wordpress

平面设计教程网站有哪些,群辉搭wordpress,网页pc端,做新网站不换域名接着上一篇#xff1a;https://blog.csdn.net/javascript_good/article/details/132027702 来实现用户表的查询和添加 1、创建数据库表 在models.py 中#xff0c;增加UserInfo类#xff0c;包括字段姓名、密码、年龄、账号余额、入职时间、所属部门、性别 verbose_name 就…接着上一篇https://blog.csdn.net/javascript_good/article/details/132027702 来实现用户表的查询和添加 1、创建数据库表 在models.py 中增加UserInfo类包括字段姓名、密码、年龄、账号余额、入职时间、所属部门、性别 verbose_name 就相当是注释 所属部门因为专门有个部门表记录了部门信息在用户表中只存部门表的id在代码中写的字段名称是depart 但是在数据库中的字段名称会自动加上id ,变成depart_id. 对于性别也是存的数字定义一个变量元祖套元祖的用1表示男2表示女 from django.db import models# Create your models here.class Department(models.Model):部门表title models.CharField(verbose_name标题,max_length32)def __str__(self):return self.titleclass UserInfo(models.Model):用户表name models.CharField(verbose_name姓名,max_length16)pwd models.CharField(verbose_name密码, max_length64)age models.IntegerField(verbose_name年龄)account models.DecimalField(verbose_name账户余额,max_digits10,decimal_places2,default0)create_time models.DateTimeField(verbose_name入职时间)#无约束# depart_id models.BigIntegerField(verbose_name部门id)#1、有约束# - to, 与那张表关联# - to_field ,与表中的那一列关联# 2、Django 自动 生成数据列会自动加上id ,depart_id# 方式一 级联删除depart models.ForeignKey(verbose_name部门, toDepartment,to_fieldid,on_deletemodels.CASCADE)# 方式二置空# depart models.ForeignKey(toDepartment, to_fieldsid, nullTrue, blankTrue, on_deletemodels.SET_NULL)#在django 中做的额约束gender_choices ((1, 男),(2,女),)gender models.SmallIntegerField(verbose_name性别, choicesgender_choices) 2、用户列表查询 urls.py 定义路由 path(‘user/list/’, views.user_list) from django.urls import path from app01 import viewsurlpatterns [#path(admin/, admin.site.urls),path(depart/list/, views.depart_list),path(depart/add/, views.depart_add),path(depart/delete/, views.depart_delete),#http://127.0.0.1:8000/depart/2/edit/path(depart/int:nid/edit/, views.depart_edit),path(user/list/, views.user_list), ]views.py 实现函数user_list 1、从数据库获取到所有的数据返回的是一个列表对象每一条数据就是一个对象可以通过循环获取对象通过点获取对象中的值将queryset传给页面user_list.html def user_list(request):用户管理#获取所有用户列表[obj,obj,obj]queryset models.UserInfo.objects.all()for obj in queryset:print(obj.id,obj.name,obj.account,obj.create_time.strftime(%Y-%m-%d),obj.gender,obj.get_gender_display(),obj.depart.title)#obj.gender #获取到的是数字#obj.get_gender_display() # 获取到的是元祖里面对应的文字男或女 get_字段名称_display()#obj.depart_id #获取数据库中存储的那个字段值#obj.depart.title # 根据id自动去关联的表中获取哪一行数据depart对象 有外键的字段根据obj.字段名获取到部门表的对象obj.create_time.strftime(%Y-%m-%d) 在python中通过这样来转换时间return render(request,user_list.html,{queryset:queryset})user_list.html 内容 需要主要的是 模板文件中不允许有括号如果有括号的直接去掉django会自动加上 对于时间的转换django中也不一样通过obj.create_time|date:“Y-m-d” 这样转换的 {% extends layout.html %}{% block content %}div classcontainerdiv stylemargin-bottom: 10pxa classbtn btn-success href/user/add/添加用户/a/divdiv classpanel panel-defaultdiv classpanel-heading span classglyphicon glyphicon-list aria-hiddentrue/span 用户列表/divtable classtable table-borderedtheadtrthID/thth姓名/thth密码/thth年龄/thth账户余额/thth性别/thth所属部门/thth入职时间/thth操作/th/tr/theadtbody{% for obj in queryset %}trtd{{ obj.id }}/tdtd{{ obj.name }}/tdtd{{ obj.pwd }}/tdtd{{ obj.age }}/tdtd{{ obj.account }}/tdtd{{ obj.get_gender_display }}/td!--模板语法里面不能加括号去掉会自动加--td{{ obj.depart.title }}/tdtd{{ obj.create_time|date:Y-m-d}}/td !--模板语法里面通过这样来转换时间--tda classbtn btn-primary btn-xs href#编辑/aa classbtn btn-danger btn-xs href#删除/a/td/tr{% endfor %}/tbody/table/div/div{% endblock %}可以看到页面效果 3、添加用户 urls.py 添加路由user/add/ from django.urls import path from app01 import viewsurlpatterns [#path(admin/, admin.site.urls),path(depart/list/, views.depart_list),path(depart/add/, views.depart_add),path(depart/delete/, views.depart_delete),#http://127.0.0.1:8000/depart/2/edit/path(depart/int:nid/edit/, views.depart_edit),path(user/list/, views.user_list),path(user/add/, views.user_add), ] views.py 中实现函数user_add 用户添加的字段比较多这里使用ModelForm组件来实现就简化了代码需要先定义一个UserModelForm的类里面有个内部类Meta, 在这里将这个类根数据模型中的UserInfo关联起来通过fields来决定要传给页面的字段 from django.shortcuts import render,redirect,HttpResponse from django import forms from app01 import modelsclass UserModelForm(forms.ModelForm):#如果还要增加其它的校验需要重写字段name forms.CharField(min_length3,label用户名)class Meta:model models.UserInfofields [name,pwd,age,account,depart,gender,create_time]def __init__(self,*args,**kwargs):super().__init__(*args,**kwargs)#循环找到所有的插件添加了classform-control样式for name,field in self.fields.items():field.widget.attrs {class:form-control}def user_add(request):添加用户modelform版本if request.method GET:form UserModelForm()return render(request,user_add.html,{form:form})#post请求需要对字段进行判断form UserModelForm(datarequest.POST)if form.is_valid():# 如果数据合法保存到数据库#{‘name’:123,age:4,....}#通过save就会自动将数据插入到数据库form.save()return redirect(/user/list/)return render(request, user_add.html, {form: form})user_add.html 页面 field.label 获取到的是models.py中verbose_name值 field.errors.0 获取到的是错误信息的第一条默认只做是否为空的校验如果需要增加检验规则需要重写字段在views.py中 {% extends layout.html %}{% block content %}div classcontainerdiv classpanel panel-defaultdiv classpanel-heading添加用户/divdiv classpanel-bodyform classform-horizontal methodpost novalidate{% csrf_token %}{% for field in form %}div classform-groupdiv classcol-sm-10label {{ field.label }}/label{{ field }}span stylecolor:red{{ field.errors.0}}/span/div/div{% endfor %}div classform-groupdiv classcol-sm-offset-2 col-sm-10button typesubmit classbtn btn-primary提交/button/div/div/form/div/div/div{% endblock %}效果
http://www.dnsts.com.cn/news/38799.html

相关文章:

  • 廊坊做网站霸州网站优化
  • 网站建设维护php公司网站 域名 cn com
  • 网站内容段落之间有空格对seo有影响吗房屋装修效果图三室一厅
  • 白城学习做网站的学校专业的网站建设哪家快
  • 社交投票论坛网站开发淄博微网站
  • 网站建设的公司有哪些做班级的活动的网站
  • 学校网站建设要点网片焊接
  • 营销型企业网站建设的内容网站反向代理怎么做
  • 策划方案万能模板北京网站优化方法
  • 企业网站博客上如何推广网站优化策划书
  • 外链提高网站权重邯郸网络信息工程教育
  • 自适应网站导航怎么做商城网站建设怎么样
  • 用dz程序做的电影网站对网站建设在电子商务中的看法
  • 做英语题的网站做美食网站的背景
  • 企业速成网站wordpress移除谷歌字体
  • 四平网站建设有哪些wordpress 外教 缩略图
  • 个人网站模板代码门户型网站都有哪些
  • 简洁 手机 导航网站模板下载安装厦门网站建设优化企业
  • html5 单页 响应式 网站模板微信小程序视频网站开发教程
  • 汕头有没有做网站做好网站外链建设的最新方法
  • 建立网站的意义网站建设实践论文
  • 广东网站开发哪家强广东省农业农村厅官网查询
  • 网站建设费能算作无形资产吗购物网站首页图片
  • 网站开发 技术路线新闻软文发布平台
  • 企业网站建设 价格南京广告公司地址
  • 网站搜索框代码怎么做自适应网站什么做
  • 网站建设 核算做淘宝链接模板网站
  • 发泡机 东莞网站建设俄语网站建设
  • 中山本地网站建设如何注册网络公司
  • 县科协微网站建设三网合一 网站建设