
Django
karry_孙二
学习记录
展开
-
Django-52-Form表单之widget部件
概述widgets是一个配置forms组件的参数配置(标签类型,属性等)widget可以为form渲染模板提供相应支持,可以在widget中指定标签的类型(默认TextInput)和属性(值) attrsattrs后面接的属性以及属性值为键值对形式如:pwd = forms.CharField(max_length=32,label="密码",widget=forms.Passwo...原创 2019-04-25 08:56:39 · 4224 阅读 · 0 评论 -
Django-51-Form表单数据获取后存入数据库
前言前面我们只是将输入的信息在页面打印,一般注册等信息都是存入数据库的需求:将注册页面填入的数据存入数据库,新增一个用户信息表用来存放注册的用户信息django_study.app01.models.py 新增一个UserInfo模型类生成用户信息表class UserInfo(models.Model): username = models.CharField(m...原创 2019-04-24 16:43:33 · 3747 阅读 · 1 评论 -
Django-50-Form表单数据校验
前言Django的form表单类会自动对定义的字段有一些判断(必填),我们也可以定义自己的校验方式表单自定义验证必须写在forms类里面校验函数名称必须是clean_字段名称(校验字段时,django会默认调用以clean开头的方法)所有要校验的数据都可以通过clean_data.get(字段名称)得到如果判断不符合条件,请诱发ValidationError并且如...原创 2019-04-23 09:01:06 · 828 阅读 · 0 评论 -
Django-49-定义一个Form类
在django_study.app01目录下新增一个forms.pydjango_study.app01.forms.py 定义一个表单类from django import formsclass RegisterForm(forms.Form): username = forms.CharField(max_length=32) password = fo...原创 2019-04-23 09:00:34 · 380 阅读 · 0 评论 -
Django-48-Form表单类
前言上一篇form表单我们是自己写上去的,其实Django有自带form表单类Django forms简介Django带有一个form库(django.forms)一个表单对应一个Form表单类(即一个表单需要定义一个与之对应的form对象)表单中显示的每一个字段都是 Form 类定义的属性,可设置字段的类型,长度,是否必填等(每一个字段都默认是必填,可以requir...原创 2019-04-23 08:59:37 · 232 阅读 · 0 评论 -
Django-47-request之POST提交数据
前言post请求主要用于向服务器提交数据,而提交的数据不会以明文的形式展现在url上。我们通常用post做注册,登录等向服务器提交数据的功能。通常进行Post的方式:form表单、Ajax请求、接口基于上一篇文章中设置好的路由以及视图、html来修改本篇post请求基于form表单方式django_study.templates.test_request.html 页面显...原创 2019-04-22 08:33:14 · 483 阅读 · 0 评论 -
Django-46-request之GET获取数据
前言请求服务器常用的两种方法GET(从服务器获取数据)和POST(提交数据至服务器)get请求的形式是:在url尾部以‘?’开始,以键=值的形式传递,以‘&’进行分割基于上一篇文章中设置好的路由以及视图、html来修改django_study.templates.test_request.html 页面显示<!DOCTYPE html><ht...原创 2019-04-22 08:31:42 · 4252 阅读 · 0 评论 -
Django-45-request基础
前言request即请求,视图函数里有一个必填参数叫做request(必须要传的参数),其实request就是客户端发送上来的请求内容,包含请求头部和内容request常用方法request:在前端页面返回一个对象dir(request):查看request都有什么方法,返回的是一个列表request.path:返回除域名之外的请求路径以正斜杠开头request.ge...原创 2019-04-22 08:12:37 · 319 阅读 · 0 评论 -
Django-44-ORM多对多删除
前提(初始表数据)remove(*[]) :删除,可以为数字(即id);对象;对象列表delete筛选后删除clear清空book表author表book_authors表 (关系表)django_study.app01.views.py:新建一个more_to_more_delete_db视图函数from django.shortcuts im...原创 2019-04-19 08:55:36 · 1985 阅读 · 0 评论 -
Django-43-ORM多对多聚合函数(手动创建)
前提(初始表数据)针对的是手动创建的多对多关系表,因为是针对第三张关系表的操作视图中需要导入聚合函数book_manual表author_manual表book_manual_author_manual表 (关系表)django_study.app01.views.py:新建一个more_to_more_select_jh_db视图函数f...原创 2019-04-19 08:55:22 · 243 阅读 · 0 评论 -
Django-42-ORM多对多查询(ManyToManyField自动创建)
前提(初始表数据)手动创建与自动创建的区别主要在于自动创建的表没有第三张可操作的表,其他没区别,此篇仅以自动创建为例说明book表author表book_authors表 (关系表)django_study.app01.views.py:新建一个more_to_more_select_db视图函数from django.shortcuts import ...原创 2019-04-19 08:55:03 · 9579 阅读 · 0 评论 -
Django-41-ORM多对多修改
前提(初始表数据)修改set([]) : 里面为可迭代类型数据,比如列表,元组等book表author表book_authors表 (关系表)django_study.app01.views.py:新建一个more_to_more_update_db视图函数from django.shortcuts import render # 导入显示页面的模块fr...原创 2019-04-19 08:54:43 · 968 阅读 · 0 评论 -
Django-40-ORM多对多新增
前提(初始表数据)book表和author表为多对多关系,一本图书可能有多个作者,一个作者可能有多本书新增add(*[]): 可以为数字(即id);对象;对象列表book表author表book_authors表 (关系表)django_study.app01.views.py:新建一个more_to_more_add_db视图函数from djang...原创 2019-04-19 08:54:32 · 1048 阅读 · 0 评论 -
Django-39-admin后台一对一操作(OneToOneField)
前提(初始表数据)author表和author_details表一对一关系author表author_details表新增操作:admin后台新增一条数据保存时提示如下,这也正是说明了作者表与作者详情表示一一对应关系在author_details中新增一条数据后再次新增Navicat查看数据库(新增成功)正向删除...原创 2019-04-18 08:45:12 · 760 阅读 · 0 评论 -
Django-38-admin后台多对多操作(ManyToManyField)
前提(初始表数据)book表和author表为多对多关系,一本图书可能有多个作者,一个作者可能有多本书book表author表新增操作:admin后台新增数据Navicat查看数据库(新增成功)book表book_authors表删除操作:admin后台删除数据(删除book表中的book_id=2)Navica...原创 2019-04-18 08:44:56 · 1147 阅读 · 0 评论 -
Django-37-admin后台一对多操作(ForeignKey)
前提(初始表数据)user表和city表一对多关系user表city表新增操作:admin后台新增一条数据Navicat查看数据库(新增成功)修改操作:suner07用户性别城市改为“常州”Navicat查看数据库(修改成功)删除操作:删除suner05Navicat查看数据库(删除成功)...原创 2019-04-18 08:04:38 · 889 阅读 · 1 评论 -
Django-36-admin之关联字段显示
前言城市为user表的外键,与城市表关联,此时显示的是关联的对象,而不是具体的城市名称django_study.app01.models.pyclass City(models.Model): city_id = models.AutoField(primary_key=True) # 设置为主键,默认自增1 city_name = models.Char...原创 2019-04-17 09:03:03 · 3025 阅读 · 0 评论 -
Django-35-admin之list_per_page分页
前言list_per_page:分页,分页框会出现在下侧在django_study.app01.admin.py(用户表为例)@admin.register(User)class UserAdmin(admin.ModelAdmin): list_display = ("name", "age", "sex", "city") list_filter = ("...原创 2019-04-17 09:02:19 · 2194 阅读 · 0 评论 -
Django-34-admin之search_fields搜索字段
前言search_fields:搜索字段,搜索框会出现在上侧在django_study.app01.admin.py(用户表为例)@admin.register(User)class UserAdmin(admin.ModelAdmin): list_display = ("name", "age", "sex", "city") list_filter =...原创 2019-04-17 09:02:04 · 3739 阅读 · 1 评论 -
Django-33-admin之list_filter后台显示过滤字段
前言list_filter:过滤字段,过滤框会出现在右侧在django_study.app01.admin.py(用户表为例)@admin.register(User)class UserAdmin(admin.ModelAdmin): list_display = ("name", "age", "sex", "city") list_filter = ("...原创 2019-04-17 09:01:54 · 1512 阅读 · 0 评论 -
Django-32-admin之list_display后台显示表字段
前言点击"用户表"进入如下页面,如想要在列表中展示我们想要看到的字段。在django_study.app01.admin.py文件中注释掉之前的# admin.site.register(User) # 注册user表# admin.site.register(City) # 注册city表# admin.site.register(Book) # 注册book表...原创 2019-04-17 09:01:39 · 3874 阅读 · 0 评论 -
Django-31-admin.ModelAdmin类
前言点击"用户表"进入如下页面,如想要在列表中展示我们想要看到的字段以及字段一些排序功能等Django提供了admin.ModelAdmin类通过定义ModelAdmin的子类,来定义模型在Admin界面的显示方式列表页属性:list_display:显示字段,可以点击列头进行排序list_filter:过滤字段,过滤框会出现在右侧search_fields:...原创 2019-04-17 09:01:24 · 480 阅读 · 0 评论 -
Django-30-admin后台显示表(注册表)
前言admin登录后的页面,需要添加我们的模型类(表)进来,才可以针对表进行增删改查操作django_study.app01.admin.py里面注册from django.contrib import adminfrom .models import * # 导入模型类# Register your models here.admin.site.site_h...原创 2019-04-17 09:01:10 · 1248 阅读 · 0 评论 -
Django-29-admin账号新建
前言django的后台管理主要可以实现:基于admin模块,可以实现类似数据库客户端的功能,对数据进行增删改查路由文件中有配置admin,直接访问127.0.0.1:8000/admin,得到如下页面。此时我们是没有账号的,需要新增admin账号pycharm打开manage.py登录操作(登录成功)补充1:修改admi...原创 2019-04-17 09:00:51 · 191 阅读 · 0 评论 -
Django-28-ORM建表(一对一)
前言使用场景当一张表的某一些字段查询的比较频繁,另外一些字段查询的不是特别频繁把不怎么常用的字段,单独拿出来做成一张表,然后通过一对一关联起来比如作者表与作者信息表可以使用一对一(一个作者只有一个与之对应的作者信息),即子表中的一条数据只对应母表中的一条数据,在母表中关联的数据不能再关联其他在子表中的数据优势既保证数据都完整的保存下来,又能保证大部分的检索更快基...原创 2019-04-16 08:36:31 · 347 阅读 · 0 评论 -
Django-27-ORM建表(多对多手动创建)
前言与上一篇介绍的自动创建不一样的是,第三张的关系表需要我们利用外键手动创建django_study.app01.models.pyfrom django.db import models# Create your models here.class BookManual(models.Model): name = models.CharField(max_len...原创 2019-04-16 08:36:07 · 418 阅读 · 0 评论 -
Django-26-ORM建表(多对多自动创建)
前言ManyToManyField可以自动创建多对多关系,不需要定义关系表,同步数据库时自动生成第三张的关系表django_study.app01.models.pyfrom django.db import models# Create your models here.class Book(models.Model): name = models.CharF...原创 2019-04-16 08:07:56 · 515 阅读 · 0 评论 -
Django-25-ORM一对多删除
前提(初始数据表)city表user表django_study.app01.views.py:新建一个one_to_more_delete_db视图函数from django.shortcuts import render # 导入显示页面的模块from django.http import HttpResponse # 导入显示字符串的模块from .mo...原创 2019-04-15 08:49:28 · 778 阅读 · 0 评论 -
Django-24-ORM一对多查询
前提(初始数据表)city表user表django_study.app01.views.py:新建一个one_to_more_select_db视图函数from django.shortcuts import render # 导入显示页面的模块from django.http import HttpResponse # 导入显示字符串的模块from .model...原创 2019-04-15 08:49:13 · 509 阅读 · 0 评论 -
Django-23-ORM一对多更新
前提(初始数据表)city表user表django_study.app01.views.py:新建一个one_to_more_update_db视图函数from django.shortcuts import render # 导入显示页面的模块from django.http import HttpResponse # 导入显示字符串的模块from .mo...原创 2019-04-15 08:48:52 · 526 阅读 · 0 评论 -
Django-22-ORM一对多新增
前提(初始数据表)city表user表django_study.app01.views.py:新建一个one_to_more_add_db视图函数from django.shortcuts import render # 导入显示页面的模块from django.http import HttpResponse # 导入显示字符串的模块from .models...原创 2019-04-15 08:48:25 · 402 阅读 · 0 评论 -
Django-21-ORM建表(一对多)
前言一对多关系,是通过两张表的ID进行的关联,其中有一个表中会有相关联的另一张表的ID字段。基于之前的user表改动,增加一个city字段;且再增加一张city表,表字段为city_name;两张表关联外键创建格式:city=models.ForeignKey("City",on_delete=models.CASCADE)to指向外键表(即模型类名,位置参数,to可...原创 2019-04-15 08:15:01 · 451 阅读 · 0 评论 -
Django-20-ORM单表删除
前提(初始数据)django_study.app01.views.py:新建一个delete_db视图函数from django.shortcuts import render # 导入显示页面的模块from django.http import HttpResponse # 导入显示字符串的模块from .models import * # 导入操作的模型类#...原创 2019-04-12 08:46:08 · 1664 阅读 · 0 评论 -
Django-19-ORM单表查询(万能下划线)
前提(初始数据)django_study.app01.views.py:新建一个underline_select_db视图函数from django.shortcuts import render # 导入显示页面的模块from django.http import HttpResponse # 导入显示字符串的模块from .models import * # 导...原创 2019-04-12 08:45:52 · 275 阅读 · 0 评论 -
Django-18-ORM单表查询详解
前提(初始表)查询集Django查询数据库的13个方法返回结果是对象列表:all(),filter(),exclude(),order_by(),reverse(),values(),values_list(),distinct()返回结果是对象:get(),first(),last()返回结果是布尔值:exists()返回结果是数字:count()dj...原创 2019-04-12 08:45:25 · 260 阅读 · 0 评论 -
Django-17-ORM单表更新
前提(初始数据)django_study.app01.views.py:新建一个update_db视图函数from django.shortcuts import render # 导入显示页面的模块from django.http import HttpResponse # 导入显示字符串的模块from .models import * # 导入操作的模型类# ...原创 2019-04-12 08:44:41 · 1410 阅读 · 0 评论 -
Django-16-ORM单表新增
前提基于上一篇新建的表进行操作django_study.app01.views.py:新建一个add_db视图函数from django.shortcuts import render # 导入显示页面的模块from django.http import HttpResponse # 导入显示字符串的模块from .models import * # 导入操作的模型类...原创 2019-04-12 08:28:28 · 241 阅读 · 0 评论 -
Django-15-ORM建表(单表)
定义模型类数据表与模型类一一对应在models.py中定义模型类需要引入包 from django.db import models模型类继承自 models.Model类说明:不需要定义主键列,在生成时会自动添加,并且值为自动增长输出对象时,会调用对象的str方法django_study.app01.models.pyfrom django.db impo...原创 2019-04-11 08:32:36 · 205 阅读 · 0 评论 -
Django-14-ORM定义模型
定义模型在模型中定义属性,会生成表中的字段django会为表自动增长的主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后,则djang不会再生成默认的主键列定义属性定义属性时,需要定义字段类型• 使用方式:1)导入from django.db.import models2)通过models.Field创建字段类型的对象,赋值给属性• 对于...原创 2019-04-11 08:31:43 · 294 阅读 · 0 评论 -
Django-13-ORM简介
ORM简介简而言之,就是用面向对象的方式去操作数据库的创建表和增删改查的操作。常用数据库:oracle, mysql, sqlite, trs, mangodb, redis, sqlserverORM优势orm实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单配置就可以轻松更换数据库orm是“对象-关系-映射”的简称,主要任务是:• ...原创 2019-04-11 08:30:00 · 249 阅读 · 0 评论