Django
Twish
这个作者很懒,什么都没留下…
展开
-
python项目篇-表查询方式ORM正向和反向
1、表结构from django.db import models# Create your models here.class Publisher(models.Model): id = models.AutoField(primary_key=True) name = models.CharField(max_length=32)class Book(models...原创 2019-03-13 00:37:21 · 531 阅读 · 0 评论 -
python项目-Django请求流程
原创 2019-02-19 15:40:50 · 549 阅读 · 0 评论 -
python项目篇-form组件应用并且与传统的增删改的区别
在view.py中from django.shortcuts import renderfrom django.shortcuts import render,redirect# Create your views here.from .models import *# Create your views here.'''传统模式的增删改def books(request):...原创 2019-02-19 14:54:14 · 215 阅读 · 0 评论 -
python项目篇-Django用户创建
在admin.py中注册from django.contrib import adminfrom .models import *# Register your models here.admin.site.register(Book)admin.site.register(Publish)admin.site.register(Author)新建一个用户名,用来登陆管理网站,可以...原创 2019-02-19 14:19:15 · 227 阅读 · 0 评论 -
python项目篇-权限粒度控制、摆脱表控制
权限粒度控制简单控制: {% if "users/add" in permissions_list%}摆脱表控制更改数据库结构class Permission(models.Model): title=models.CharField(max_length=32) url=models.CharField(max_length=32) act...原创 2019-02-13 00:05:05 · 251 阅读 · 0 评论 -
python项目篇-权限组件
一个正则表达式URL就是一个权限UserInfor表namepwdtwiss123egon123gkate123irls123tomas123Role表idtitle1销售员2保CTO3CEOUserInfor2Role表iduser_idrole_id111...原创 2019-02-12 23:35:57 · 307 阅读 · 0 评论 -
python项目篇-点赞功能原理
点赞或者评论者就是当前登录人1 绑定事件2 携带data={article_id,is_up}发送Ajax请求3 对应的视图函数要生成一个赞或者反对记录4 响应结果给ajax5 Ajax的success处理view.pyimport jsonfrom django.db.models import Fdef up_down(request): print(reques...原创 2019-01-30 19:41:40 · 2081 阅读 · 0 评论 -
python与json学习
json定义:JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。JSON对象:...原创 2019-01-30 13:12:48 · 148 阅读 · 0 评论 -
python项目篇-Xadmin组件注册设计
1.startapp Xadminstartapp app022.在setting-INSTALLED_APPS里面添加’app02.apps.App02Config’,'Xadmin.apps.XadminConfig',3.在Xadmin文件里面找到apps.py,并修改from django.apps import AppConfigfrom django.utils.m...原创 2019-02-08 20:00:25 · 653 阅读 · 0 评论 -
python项目篇-Xadmin组件注册设计二
1、Xadmin文件下service包中的Xadmin.py修改from django.conf.urls import urlfrom django.shortcuts import HttpResponse ,render ,redirectclass ModelXadmin(object): list_display = ["__str__"] def __init...原创 2019-02-15 16:58:06 · 338 阅读 · 0 评论 -
python项目篇-django模型多表操作
一、创建模型事例:作者模型:一个作者有姓名和年龄。作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息。作者详情模型和作者模型之间是一对一的关系(one-to-one)出版商模型:出版商有名称,所在城市以及email。书籍模型: 书籍有书名和出版日期,一本书可能会有多个作者,一个作者也可以写多本书,所以作者和书籍的关系就是多对多的关联关系(many-to-man...原创 2019-02-21 13:50:20 · 278 阅读 · 0 评论 -
python项目篇:ORM聚合与分组
1. 分组 ORM中values或者values_list 里面写什么字段,就相当于select 什么字段 ret = models.Employee.objects.all().values("dept", "age") 相当于: SELECT `employee`.`dept`, `employee`.`age` FROM `employee` LIMIT 21; arg...原创 2019-01-28 23:51:14 · 783 阅读 · 0 评论 -
python项目篇-restframework源码分析
1 APIViewclass BookView(APIView):pass url(r'^books/$', views.BookView.as_view(),name="books"), url(r'^books/$', View类下的view,name="books"), 一旦访问books/: view(request)======APIView类下的dispatch()====请...原创 2019-03-04 23:02:40 · 262 阅读 · 0 评论 -
python项目篇-酒店(会议室,电影)预定
1、views.py中from django.shortcuts import render,redirect,HttpResponse# Create your views here.from django.contrib import authdef login(request): if request.method=="POST": user=req...原创 2019-02-20 15:23:16 · 2459 阅读 · 7 评论 -
python项目篇-admin源码解析
1、单例模式单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置文件的信息。如果在程序运行期间,有很多地方都需要使用配置文件的内容,也就是说,很多地方都需要创建...原创 2019-02-20 19:45:31 · 688 阅读 · 0 评论 -
Django命令行创建超级用户
首选创建一个新用户,用来登录Django管理网站,进入manage.py目录下,使用如下命令来进行创建:python manage.py createsuperuser接下来输入用户名称:Username(leave bkank to use 'administrator'): root然后是输入邮箱(QQemail等都可以):Email address:(输入你的邮箱账号)输入...原创 2019-03-12 21:14:19 · 1909 阅读 · 0 评论 -
python项目篇-django组件contenttype
1、组件的作用:可以通过两个字段让表和N张表创建FK关系2、表结构: from django.db import models from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.fields import GenericForeignKey, ...原创 2019-03-12 12:18:36 · 214 阅读 · 0 评论 -
python项目篇-支付中心(以支付宝接口为例)
1. 获取用户提交数据{ balance:1000, money:900}balance = request.data.get("balance")money = request.data.get("money")2. 数据验证大于等于0个人账户是否有1000网站金币if user.auth.user.balance < balance:账户贝里原创 2019-03-15 23:18:30 · 570 阅读 · 0 评论 -
python项目篇-结算中心
1. POST请求,去结算 请求体: { courseids:[1,2] }业务处理: 1. 检测课程ID是否已经加入到购物车 2. 获取指定价格策略信息 3. 获取优惠券信息 4. 构造结构放入redis 2. GET请求,获取结算中心数据业务处理: 1. 获取结算中心里的课程信息(绑定课程优惠券) 2. 获取全局优惠券3. PATCH请求,选择优惠券...原创 2019-03-15 11:31:01 · 483 阅读 · 5 评论 -
python项目篇-购物车业务逻辑
加入购物车,保存到redis:a. 临时状态b. 修改购物信息结构:redis->{ shopping_car:{ 用户ID:{ 业务1:{ title:'法务', img:'/xx/xx/xx.png', policy:{ 10: {'name':'有效期1个月','price':123}, 11: {'name':'有效期3...原创 2019-03-14 19:04:47 · 741 阅读 · 1 评论 -
python项目篇-rest-framework框架
1、序列化1.1创建一个序列化类models部分:from django.db import modelsclass Book(models.Model): title=models.CharField(max_length=32) price=models.IntegerField() pub_date=models.DateField() publish...原创 2019-03-04 00:01:13 · 785 阅读 · 0 评论 -
python项目篇-stark pop组件
继前几篇文章,今天总结pop组件构成在stark组件文件中的service 包stark.py中修改add_view方法class ModelStark(object): def add_view(self, request): ModelFormDemo = self.get_modelform_class() form = ModelForm...原创 2019-02-27 13:38:06 · 372 阅读 · 0 评论 -
python项目篇-Django的CBV和FBV概念
1、FBVFBV(function base views) 就是在视图里使用函数处理请求。2、CBVCBV(class base views) 就是在视图里使用类处理请求。Python是一个面向对象的编程语言,如果只用函数来开发,有很多面向对象的优点就错失了(继承、封装、多态)。所以Django在后来加入了Class-Based-View,可以让我们用类写View。这样做的优点主要下面两种...原创 2019-03-03 15:46:20 · 1094 阅读 · 1 评论 -
pythonBug:解决 AttributeError: 'ForeignKey' object has no attribute 're'
解决办法#data_list =filter_field_obj.rel.to.objects.all()这个不行换成以下代码data_list = filter_field_obj.remote_field.model.objects.all()原创 2019-02-26 22:11:09 · 3878 阅读 · 0 评论 -
python项目篇-stark之查询
1、首先在项目文件夹中stark.py中:class BookConfig(ModelStark): list_display = ["title","price",] list_display_links = ["title"] search_fields = ["title", "price"] modelform_class = BookModelForm...原创 2019-02-26 12:32:31 · 266 阅读 · 0 评论 -
python项目篇-stark之分页
1、引入utils分页组件2、将list_view中的数据封装成ShowList类3、在ShowList类中调用分页接口ShowList类:class ShowList(object): def __init__(self, config, data_list, request): self.config = config self.data_lis...原创 2019-02-26 12:24:08 · 199 阅读 · 0 评论 -
pythonBUG:media文件里的图无法显示
python2.版本URL不支持正则需要在URL里面添加并修改"""PracticeBbs URL ConfigurationThe `urlpatterns` list routes URLs to views. For more information please see: https://docs.djangoproject.com/en/2.1/topics/http/u...原创 2019-01-28 23:00:30 · 276 阅读 · 0 评论 -
pythonBug:django.db.utils.IntegrityError: (1062, "Duplicate entry 'gkate' for key 'username'")
django.db.utils.IntegrityError: (1062, "Duplicate entry 'gkate' for key 'username'")错误分析:数据库中的username不能重复原创 2019-01-28 19:15:20 · 8151 阅读 · 0 评论 -
python之Django框架篇-进阶篇一
1. 模板系统(字符串替换) 1. 语法 1. 变量相关: {{ name }},{{name|length}},{{name|default:"默认值"}} 2. 逻辑相关: 1. if判断 {% if a > b %} {% endif %} {% if a > b %} {% else %} {...原创 2018-12-23 10:06:00 · 211 阅读 · 0 评论 -
python之Django框架篇-基础四
1. ORM外键操作 图书管理系统的三种角色 1. 出版社 2. 书 3. 作者 总结关系: 1. 一本书 只能 有一个出版社 2. 一本书 能有 多个作者 3. 一个作者 能写 多本书 出版社和书: 一对多 --> 外键 书和作者: 多对多 --> 用第三张表做关联 # 书 class Book(mo...原创 2018-12-23 10:05:46 · 165 阅读 · 0 评论 -
python之Django框架篇-基础三
1. 单表的增删改查 1. 删和改 1. GET请求 URL传值 1. 格式 127.0.0.1:8000/delete_publisher/?name=alex&id=7 2. Django后端取值 request.GET --> 大字典 request.GET["name"]/request.GET["id"] --...原创 2018-12-23 10:05:28 · 153 阅读 · 0 评论 -
python之Django框架篇-基础二
1. GET请求和POST请求 GET请求: 1. 浏览器请求一个页面 2. 搜索引擎检索关键字的时候 POST请求: 1. 浏览器向服务端提交数据,比如登录/注册等 2. Django中的APP: 什么是APP?以及为什么要用APP? project --> 项目 APP --> 应用 方...原创 2018-12-22 09:54:26 · 193 阅读 · 0 评论 -
python之Django框架篇-基础一复习
0. Django安装 pip3 install django==1.11.11 pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ django==1.11.11 PyCharm安装的时候: 注意不要勾选那个选项 (你们懂得) 1. Django项目的启动: 1. 命令行启动 在项目...原创 2018-12-22 09:54:12 · 248 阅读 · 0 评论 -
python之Django框架篇-基础一
1.概览 用户的浏览器(socket客户端) 3. 客户端往服务端发消息 6. 客户端接收消息 7. 关闭 JD的服务器(socket服务端) 1. 启动,监听 2. 等待客户端连接 4. 服务端收消息 5. 服务端回消息 7. 关闭 FTP作业: FTP...原创 2018-12-22 09:53:58 · 254 阅读 · 0 评论 -
python项目篇-复习分组和聚合
1. 复习下分组和聚合 https://www.cnblogs.com/liwenzhou/p/8660826.html 1. 分组 ORM中values或者values_list 里面写什么字段,就相当于select 什么字段 ret = models.Employee.objects.all().values("dept", "age") 相当于: SELECT `...原创 2018-12-27 08:07:26 · 272 阅读 · 0 评论 -
python之项目篇-from组件梳理和站点主页
1. form组件梳理 注册功能: 1. 利用form组件生成HTML代码 2. 使用AJAX提交数据,并且在页面显示错误信息 3. 后端还是使用form做校验 额外补充: 滑动验证码 前端预览头像 2. 站点主页 - Django admin简单使用 1. 告诉admin 我有哪一些表 1. 在app/admin.py文件中,把表注册一下 2...原创 2018-12-26 08:06:18 · 202 阅读 · 0 评论 -
python项目篇-auth模块
1. auth模块的知识点: 1. 创建超级用户 python manage.py createsuperuser from django.contrib import auth 2. auth.authenticate(username=username, password=pwd) 验证用户名和密码 如果验证成功,得到的是一个用户对象 如果验证失败,得到的是匿...原创 2018-12-26 08:05:56 · 2645 阅读 · 0 评论 -
python之Django框架篇-路由系统,视图,模板,ORM复习
1. Urls.py 路由系统: 正则 分组匹配 --> 位置参数 分组命名匹配 --> 关键字参数 分级路由 include 给路由起别名 name="xx" 反向解析url view from django.urls import reverse reverse(&quot原创 2018-12-26 08:07:51 · 251 阅读 · 0 评论 -
python之Django框架篇-中间件
中间件:https://blog.csdn.net/qq_27695659 1. URL的白名单 url = ["/xx/", "/oo/", "/haha/"] 2. 登陆之后才能访问某些URL 之前使用装饰器 中间件的定义: wsgi之后 urls.py之前 在全局 操作Django请求和响应的模块! 中间件的使用: 5个固定的方法 proce..原创 2018-12-26 08:05:40 · 194 阅读 · 0 评论 -
python之Django框架篇-进阶二
1. 模板语言(字符串替换) 1. 母版和继承 1. 什么时候用母版? html页面有重复的代码,把它们提取出来放到一个单独的html文件。 (比如:导航条和左侧菜单) 2. 子页面如何使用母版? {% extends 'base.html' %} --> 必须要放在子页面的第一行 母版里面定义block(块),子页面使用bloc...原创 2018-12-23 10:06:10 · 170 阅读 · 0 评论