Django框架——基础教程(总)】的更多相关文章

1. Django简介 Python下有许多款不同的 Web 框架.Django是重量级选手中最有代表性的一位.许多成功的网站和APP都基于Django. Django是一个开放源代码的Web应用框架,由Python写成. Django遵守BSD版权,初次发布于2005年7月, 并于2008年9月发布了第一个正式版本1.0 . 2. MVC框架和MTV框架 2.1 MVC框架 MVC框架,全称角Model View Controller,是软件工程的一种架构模式,这个模式把软件系统分为三个部分:…
Django框架之View.py(视图文件) 1. 视图简介 视图层是Django处理请求的核心代码层,我们大多数Python代码都集中在这一层面. 它对外接收用户请求,对内调度模型层和模版层,统合数据库和前端,最后根据业务逻辑,将处理好的数据,与前端结合,返回给用户.视图层是真正的后端,是Python工程师的‘主营业务’. 视图就是每个创建的APP中的的view.py文件夹.我们处理数据的那些业务逻辑,就都存放(编辑)在这里. Django的视图层包含下面一些主要内容: URL路由 视图函数…
服务端假设所有用户提交的数据都是不可信任的,所以Django框架内置了form组件来验证用户提交的信息 form组件的2大功能:       1 验证(显示错误信息)       2 保留用户上次输入的信息                  -- 可以生成html标签应用: class A_Form(Form): 字段=fields.字段类型(默认参数: required=True, widget=widgets.插件(attrs={})) 常用字段:Charfield,RegexField,I…
Python web框架 本质 收发socket消息 --> 按照HTTP协议消息格式去解析消息 路径和要执行的函数的对应关系 --> 主要的业务逻辑 字符串替换 --> 模板(特殊符号 --> 数据) 一个完整得请求流程: 0. 启动服务端,等待客户端(用户的浏览器)来连接 1. 在浏览器地址栏输入URL,与服务端建立连接,浏览器发送请求 2. 服务端收到请求消息,解析请求消息,根据路径和函数的对应关系,找到将要执行的函数 3. 执行函数,打开HTML文件,进行字符串替换,得到一…
Django框架 Django是个怎样的东西呢? Web应用框架----Django  http服务器:用来接受用户请求,并将请求转发给web应用框架进行处理. Web应用框架处理完以后再发送给http服务器,http服务器再返回给用户. 新建项目 •新建项目的命令: django-admin startproject projectname •注意: 由于编辑器版本之间的一些差别, 我们统一使用跟编辑器版本无关的通用方式创建项目. 先在命令行创建项目,然后再设置pycharm代码同步. • 1…
1.自定义主键字段的创建 AutoFiled(pirmary_key=True) # 一般不会自定义,int类型,自增长 一般不自定义主键. 2.order_by asc desc from django.db.models.function import Lower res = Student.objects.order_by(Lower('name').desc()) 表关系的创建 OneToOne student = models.OneToOneField('Student', on_d…
1.URL路由系统前言 URL是Web服务的入口,用户通过浏览器发送过来的任何请求,都是发送到一个指定的URL地址,然后被响应. 在Django项目中编写路由,就是向外暴露我们接收哪些URL的请求,除此之外的任何URL都不被处理,也没有返回.通俗地理解,不恰当的形容,URL路由是你的Web服务对外暴露的API. Django奉行DRY主义,提倡使用简洁.优雅的URL,没有.php或.cgi这种后缀,更不会单独使用0.2097.1-1-1928.00这样无意义的东西,让你随心所欲设计你的URL,不…
1.URL路由系统前言 URL是Web服务的入口,用户通过浏览器发送过来的任何请求,都是发送到一个指定的URL地址,然后被响应. 在Django项目中编写路由,就是向外暴露我们接收哪些URL的请求,除此之外的任何URL都不被处理,也没有返回.通俗地理解,不恰当的形容,URL路由是你的Web服务对外暴露的API. Django奉行DRY主义,提倡使用简洁.优雅的URL,没有.php或.cgi这种后缀,更不会单独使用0.2097.1-1-1928.00这样无意义的东西,让你随心所欲设计你的URL,不…
###############    MVC架构介绍    ################ # MVC架构 # 一个软件框架有很多的模块,每一个模块有不同的功能 # 模块与模块之间相互配合来完成软件开发, # django遵循的是MVC的框架思想 # MVC的产生理念:分工.就是让专门的人做专门的事, # MVC的核心是:解耦,也就是一个模块和其他模块之间只是配合关联性不大,你升级一个模块只要能完成功能,对其他模块影响不大 # M:model,模型,和数据库进行交互 # V:view,视图,产…
学Django需要什么基础? 1. Django是 python 语言写的一个Web框架包,所以你得知道一些 Python 基础知识. 2. 其次你最好有一些做网站的经验,懂一些网页 HTML, CSS, JavaScript 的知识 不过啊,没有也没关系,其实Django其实很简单的 一下的建议可能在Django基础的时候呢,可能会不怎么重要,但是如果你想在Django这条路上走的越走越远的话,可以看看下面的一些建议 @1:学习 前端相关知识(看个人兴趣,了解一些也挺好的) @2:学习 Lin…
所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 最简单的web框架 import socket sk = socket.socket() sk.bind(()) sk.listen() while True: conn, addr = sk.accept() data = conn.recv() conn.send(b"OK") conn.close() 这个规则就是HTTP协议,以后浏览器发送请求信息…
###############    ORM介绍  ################ """ ORM简介: ORM 全拼Object-Relation Mapping. 中文意为 对象-关系映射. 在MVC/MVT设计模式中的Model模块中都包括ORM 在django里面主要是在models.py文件里面设计模型类, ORM和数据库关系: 类--数据表 对象--数据行 属性--字段,理清了这三点,ORM就没有问题 ORM的优点: 1,不用编写各种数据库的sql语句,让软件开…
一个小问题: 什么是根目录:就是没有路径,只有域名..url(r'^$') 补充一张关于wsgiref模块的图片 一.MTV模型 Django的MTV分别代表: Model(模型):和数据库相关的,负责业务对象与数据库的对象(ORM) Template(模板):放所有的html文件 模板语法:目的是将白变量(数据库的内容)如何巧妙的嵌入到html页面中 View(视图):负责业务逻辑,并在适当的时候调用Model和Template 此外,Django还有一个URL分发器.它的作用是将一个个URL…
一.创建项目 1.命令:django-admin startproject sitename 2.IDLE环境:本质上都是执行上述命令 常用命令: python manage.py runserver 0.0.0.0 (启动服务) python manage.py startapp appname (创建一个Application) python manage.py syncdb() python manage.py makemigrations() python manage.py migra…
1.ORM简介 1.1 ORM的概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中. ORM在业务逻辑层和数据库层之间充当了桥梁的作用. 1.2 为什么需要ORM? 让我们从O/R开始.字母O起源于"对象"(Object),而R则来自于"关系"(Relational).…
---恢复内容开始--- 1. 常用语法 需要记住两组特殊符号:{{  }}  和 {%  %}. 在运用到变量的时候使用{{  }},如果是跟逻辑相关的话就使用{%  %}. 在Django模板(template)中,会使用到的{{  }}  和 {%  %}写法,在专业中就称之为Django的 “ 模板语言 ” 2. 变量 在Django模板中,使用的变量的时候,就是用这个格式:{{ 变量名 }}. 在template模板引擎遇到一个变量的时候,它自动根据python后台中的views模块提…
###############    ORM进阶---contenttype    ################ 设计思路: """ 路飞有两种课,专题课和学位课, 专题课都是简单的内容,基础的课程模块, 学位课都是大课程,全套课程, 怎么设计价格策略的问题? 第一种设计: 价格策略表: id,价格, 期限,专题课id,学位课id 1 11 3个月 1 空 1 11 6个月 1 空 1 11 9个月 1 空 1 11 9个月 2 空 1 11 3个月 空 1 1 11 6…
###############    一对一跨表查询    ################ import os if __name__ == '__main__': os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ORM.settings") import django django.setup() from app01 import models # 一对一查询记录:author和authordetile是一对一…
##################   什么是视图?     ####################### 视图: 1,一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 2,响应可以是一张网页的HTML内容(使用render),一个重定向(使用redirect),一个404错误,一个XML文档,或者一张图片. 3,无论视图本身包含什么逻辑,必须要返回响应,否则程序会报错.为了将代码放在某处,大家约定成俗将视图放置在项目(project)…
MTV view视图 wsgi函数 def index(request): .... return HttpResponse() 特定的HTTP方法.get,post可以定义单独的方法 继承,多继承,代码分解成可以复用的组件 在urls.py中定义调用类视图 path('index/', views.IndexView.as_view(), name='index'),#类视图的调用,注意加括号 类视图的写法 class IndexView(View):    def get(self,requ…
我们昨天登录admin时创建的用户信息是存放在哪里了呢? auth系统的数据表: 从表的名称我们就能看出, auth_user,auth_group,auth_permission分别存放了用户,用户组,权限的信息表.另外三张表就是多对多的关系表 User:User是auth模块中维护用户信息的关系模式(继承了models.Model), 数据库中该表被命名为auth_user. Group:User对象中有一个名为groups的多对多字段, 多对多关系由auth_user_groups数据表维…
Django中间件(Middleware) 是一个轻量级.底层的“插件”系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出. django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法. 在django项目的settings模块中,有一个 MIDDLEWARE_CLASSES 变量,其中每一个元素就是一个中间件. 中间件的结构: 中间件中可以定义5个方法,分…
浏览器存储cookie的方式不太安全,那有没有更好些的来存储登入状态的方式呢??? 状态保持----cookie和session: 状态保持: 1.http协议是无状态的:每次请求都是一次新的请求,不会记得之前通信的状态 2.客户端与服务器端的一次通信,就是一次会话实现状态保持的方式:在客户端或服务器端存储与会话有关的数据 3.存储方式包括cookie.session,会话一般指session对象 \4. 使用cookie,所有数据存储在客户端,注意不要存储敏感信息 5.使用sesison方式,…
from django.shortcuts import render, redirect, reversefrom datetime import datetime# Create your views here.from django.http import HttpResponse, JsonResponsefrom django.template.loader import get_templatefrom teacher.models import Student, StudentDe…
视图函数接受到的request到底是个什么对象呢? HttpRequest对象: 服务器接收到http协议的请求后,会根据报文创建HttpRequest对象视图函数的第一个参数是HttpRequest对象在django.http模块中定义了HttpRequest对象的API form标签中的GET和POST: 在HTML中,form表单的作用是收集标签中的内容,<form>...</form> 中间可以由访问者添加类似于文本,选择,或者一些控制模块等等.然后这些内容将会被送到服务端…
1.常用的模型字段类型 https://docs.djangoproject.com/en/2.1/ref/models/fields/#field-types 2.字段的常用参数 官方文档:https://docs.djangoproject.com/en/2.1/ref/models/fields/#field-options 3.常用查询 通过模型类上的管理器来构造QuerySet. 模型类上的管理器是啥? ​ 模型类.objects,<django.db.models.manager.M…
1.数据库的连接配置 django 连接mysql的配置流程: 安装 pymysql pip install pymysql 创建数据库用户 有创建数据库权限的用户 创建数据库 crm 修改配置 settins 修改项目文件夹(和settings.py文件所在的目录)下 init.py 文件 写上: import pymysql pymysql.install_as_MySQLdb() 设置时区 TIME_ZONE = 'Asia/ShangHai' # 北京时间 2.django的ORM系统…
根据一定规则,自己定义出符合需求功能的.用在任何你有需求的地方,因为内置的满足不了我们的需求,不同的东西有不同的定义规则 目前最最重要的就是HOW 一 文件路径配置: templates 存放自定义 某个app特有的自定义标签:存放模板的目录:在app目录下创建一个python package,在其中新建templatetags标签及过滤器的目录 目录结构: 注意:templatetags这个目录名字是固定的,而里面的模块名是自定义的. 模板过滤器的分析: {{ var|foo:"bar&quo…
1.常用的模板标签 -作用是什么? -常用标签 总结:语法 {% tag %} {% endtag %} {% tag 参数 参数 %} 2.模板的继承与引用 -引用 include标签 -继承 extends标签 block 标签在渲染的过程中提供任意的逻辑 标签语法: 由{%和 %} 来定义的, 例如:{%tag%}{ %endtag%} 这个定义是刻意模糊的. 例如,一个标签可以输出内容,作为控制结构,例如“if”语句或“for”循环从数据库中提取内容,甚至可以访问其他的模板标签. 常用标…
模板变量及模板过滤器. 1.模板路径的查找 -查找顺序 1.尝试,在app目录下存放模板. -两种方案 1.app项目文件夹下存放. 2.templates文件夹下分类存放. 首先查找项目settings里的DIRS,可以定义多个路径,这是个列表. APP_DIRS:True定义在注册app中去找.在INSTALLED_APPS列表中找,包括app下面的tem 例如:在INSTALLED_APPS中加入 teacher.apps.TeacherConfig, 或者只定teacher, 在app文…