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

免费建网站域名南昌seo快速排名

免费建网站域名,南昌seo快速排名,上海的网站设计公司价格,用wordpress做的网站有哪些一、 choices参数的使用 1.1 作用 针对某个可以列举完全的可能性字段#xff0c;我们应该如何存储 .只要某个字段的可能性是可以列举完全的#xff0c;那么一般情况下都会采用choices参数 1.2 应用场景 应用场景#xff1a; 学历#xff1a; 小学 初中 高中 本科 硕士…一、 choices参数的使用 1.1 作用 针对某个可以列举完全的可能性字段我们应该如何存储 .只要某个字段的可能性是可以列举完全的那么一般情况下都会采用choices参数 1.2 应用场景 应用场景 学历     小学 初中 高中 本科 硕士 博士   1 2 3 4 5 6      客户来源:     微信渠道 广告 介绍 QQ 等等      性别     男 女  未知 1.3  choices参数的使用 class UserInfo(models.Model):username models.CharField(max_length64)password models.CharField(max_length32)# 先写一个映射关系gender_choices ((1, 男),(2, 女),(3, 未知),)字段存储的范围还是取决于数据类型的字段gender models.SmallIntegerField(choicesgender_choices) # 男 女 未知 1 2 3 4# score A:优秀 B良好 C及格 D不及格score_choices((A, 优秀),(B, 良好),(C, 及格),(D, 不及格),)score models.CharField(choicesscore_choices,max_length32, nullTrue)resmodels.UserInfo.objects.filter(pk4).first()print(res.gender) # 1# get_字段名_display()# 如果你存储的数据没有在映射范围内就原样输出如果有就显示对应的关系对应的数据print(res.get_score_display()) 二、 MVCMTV模式 2.1 MVC  MVC 模式Model–view–controller是软件工程中的一种软件架构模式把软件系统分为三个基本部分模型Model、视图View和控制器Controller。 MVC 以一种插件式的、松耦合的方式连接在一起。 模型M- 编写程序应有的功能负责业务对象与数据库的映射(ORM)。 视图V- 图形界面负责与用户的交互(页面)。 控制器C- 负责转发请求对请求进行处理。 2.2  MTV 模型 Django 的 MTV 模式本质上和 MVC 是一样的也是为了各组件间保持松耦合关系只是定义上有些许不同Django 的 MTV 分别是指 M 表示模型Model编写程序应有的功能负责业务对象与数据库的映射(ORM)。 T 表示模板 (Template)负责如何把页面(html)展示给用户。 V 表示视图View负责业务逻辑并在适当时候调用 Model和 Template 三、多对多的三种创建方式 3.1方式一通过ManyToManyField自动创建第三张表 class Book(models.Model):title models.CharField(max_length32, verbose_name书名)# 通过ORM自带的ManyToManyField自动创建第三张表 class Author(models.Model):name models.CharField(max_length32, verbose_name作者姓名)books models.ManyToManyField(toBook, related_nameauthors)# 全自动 它的优势就是自动帮我们创建表而且还是使用那四个方法add set remove clear # 缺点就是扩展性非常差 3.2 方式二自行创建第三张表 class Book(models.Model):title models.CharField(max_length32, verbose_name书名)class Author(models.Model):name models.CharField(max_length32, verbose_name作者姓名)全手动 # 自己创建第三张表分别通过外键关联书和作者 class Book(models.Model):title models.CharField(max_length32, verbose_name书名)class Author(models.Model):name models.CharField(max_length32, verbose_name作者姓名)# 自己创建第三张表分别通过外键关联书和作者 class Author2Book(models.Model):author models.ForeignKey(toAuthor)book models.ForeignKey(toBook)register_time它的优势可扩展性很高 缺点不能使用orm查询方法了那四个方法也不用用了add set remoce clear 都不能用了 3.3  方式三设置ManyTomanyField并指定自行创建的第三张表 lass Book(models.Model):title models.CharField(max_length32, verbose_name书名)# 自己创建第三张表并通过ManyToManyField指定关联 class Author(models.Model):name models.CharField(max_length32, verbose_name作者姓名)books models.ManyToManyField(toBook, throughAuthor2Book, through_fields(author, book))# through_fields接受一个2元组field1field2# 其中field1是定义ManyToManyField的模型外键的名authorfield2是关联目标模型book的外键名。class Author2Book(models.Model):author models.ForeignKey(toAuthor)book models.ForeignKey(toBook)优点还可以使用orm的方法及正反向查询但是不能使用add set remove clear方法了 推荐使用另外两种方式全自动额不太建议 四、  Ajax技术 它是前端的技术不是Python的知识点但是它需要结合Python来学习 AJAX除了异步的特点外还有一个就是浏览器页面局部刷新 1. 异步提交 2. 局部刷新 Ajax的学习按理来说其实还是js代码应该学习JavaScript的Ajax的写法就不学习JavaScript版本的直接学习jQuery版本的帮我们封装了如果不封装js版本的Ajax非常复杂 document.getElementById(d1).innerHTML xmlhttp.responseText; document.getElementByClssName(c1).innerHTML xmlhttp.responseText; document.getElementById(d1).innerHTML xmlhttp.responseText; document.querySelector(#d1 a ).innerHTML xmlhttp.responseText; document.querySelector(.c1).innerHTML xmlhttp.responseText; document.querySelector(h1).innerHTML xmlhttp.responseText; 2. 案例 有一个页面 script$(.btn).click(function () {var inp1 $(#inp1).val();var inp2 $(#inp2).val();// 把获取到的两个值提交到后端然后让Python来计算然后返回$.ajax({url:, // 默认不写就是朝当前地址传递type:post,dataType:json,data:{inp1:inp1, inp2:inp2},// 回调函数用来接收后端返回的数据success:function (res) {// {username: kevin, password: 123}console.log(res,) // 就是拿后端返回的数据// 反序列化{#resJSON.stringify()#}// 后端返回的数据别忘了反序列化但是你的护短别往了序列化{#resJSON.parse(res)#}console.log(typeof res) // 就是拿后端返回的数据console.log(res.username) // 就是拿后端返回的数据console.log(res.password) // 就是拿后端返回的数据{#$(#inp3).val(res);#}}})}) /scriptdef ab_ajax(request):# if request.is_ajax():if request.methodPOST:接收ajax提交过来的数据# QueryDict: {inp1: [1], inp2: [1]}print(request.POST)# d1 request.POST.get(inp1) # str# d2 request.POST.get(inp2) # str# d3 int(d1) int(d2)# 序列化import json# json.dumps(d3)user_dict {username:kevin, password:123}# return HttpResponse(json.dumps(d3))return HttpResponse(json.dumps(user_dict))# return JsonResponse(user_dict)return render(request, ab_ajax.html)
http://www.dnsts.com.cn/news/258902.html

相关文章:

  • 怎么做相册网站wordpress 手机管理员密码
  • 邯郸建设网站公司wordpress 重置密码
  • 做动物网站的原因是网页版梦幻西游礼包码
  • 站长友情链接平台惠州网站建设 鑫
  • 无棣住房建设局网站html网站发布
  • 云主机如何做两个网站建设工程施工合同司法解释2022
  • 网络营销外包推广渠道郑州网站优化多少钱
  • 网站备案地区名加工平台网站
  • 安阳网站建设优化电脑上自己做科目一的网站
  • 万寿路网站建设微网站有什么用
  • 吉林网站制作国内四大门户网站
  • 贺州网站建实名认证
  • 建站魔方极速网站建设如何制作一网站
  • 企业网站推广的方法有哪些php网站开发app接口
  • 看车二手车网站源码推荐一个好点的网站
  • 房地产网站建设公司网络营销推广微信hyhyk1效果好
  • 德州定制网站建设公司北京网站建设厂家
  • 做网站编程有钱途么最专业的网站建设收费
  • 健康网站 模板wordpress给页面html后缀
  • 建设部网站安全考核证书查询做网站开发人员架构
  • 站长工具无忧公司网站开发部署
  • 商城网站程序软件开发分工5个角色
  • 成都青羊区网站建设网站开发需要用到哪些软件
  • 温州做网站厉害的公司有哪些wordpress 去掉头部
  • 地产网站建设互动营销nginx代理wordpress
  • 手机浏览器 网站开发房地产销售工作总结
  • 上海企业网站开发昆山网站建设jofuns
  • 北京企业做网站费用上海建网站
  • 做床上用品网站做商贸生意的人都去什么网站
  • 贵阳网站开发推荐wordpress 主题缓存