一.虚拟环境 ''' 解决版本共存 1. 用pycharm选择File点击NewProject然后选择virtualenv创建一个纯净环境 2. 打开下载的目录将venv文件夹下的所有文件(纯净的环境)copy到需要指定长期使用的文件夹下 3. 再次创建项目时,将该环境(指定长期使用的文件夹下Scripts文件夹中的python.exe文件)添加到pycharm环境选择(System Interpreter)中 4. 为该环境添加需要处理的版本共存包 ''' 二.路由配置主页与404 ''' 路…
摘要: 路由层 无名分组 有名分组 反向解析 路由分发 名称空间 伪静态网页.虚拟环境 视图层 JsonResponse FBV 与 CBV(function base views与class base views) 文件上传 一.路由层:(Django的路由系统) URL配置(Django项目urls.py路由文件):就像Django所支撑网站的目录,它的本质是URL与要为该URL调用的视图函数之间的映射表.以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码. …
Web API 源码剖析之默认消息处理程序链-->路由分发器(HttpRoutingDispatcher) 我们在上一节讲述了默认的DefaultServer(是一个类型为HttpServer的只读属性).本节将讲述DefaultHandler(是一个HttpMessageHandler的只读属性).在Web API 里默认是的一个HttpRoutingDispatcher类型,它继承于HttpMessageHandler.我们称之为路由分发器.它主要作用就是将处理从HttpServer传递过来…
Django框架,urls.py模块,views.py模块,路由映射与路由分发以及逻辑处理——url控制器 这一节主讲url控制器 一.urls.py模块 这个模块是配置路由映射的模块,当用户访问一个url地址时,通过这个路由映射模块,映射给对应的逻辑处理函数 urlpatterns等于的一个列表,列表里的一个元素就是一条路由映射 urlpatterns路由映射配置方式 参数说明: 一个正则表达式字符串一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串可选的要传递给视图函数的默认参…
我们在上一节讲述了默认的DefaultServer(是一个类型为HttpServer的只读属性,详情请参考 Web API 源码剖析之全局配置).本节将讲述DefaultHandler(是一个HttpMessageHandler的只读属性).在Web API 里默认是的一个HttpRoutingDispatcher类型,它继承于HttpMessageHandler.我们称之为路由分发器.它主要作用就是将处理从HttpServer传递过来的请求.然后再将请求传递给HttpControllerDis…
Django框架,urls.py模块,views.py模块,路由映射与路由分发以及逻辑处理——url控制器 这一节主讲url控制器 一.urls.py模块 这个模块是配置路由映射的模块,当用户访问一个url地址时,通过这个路由映射模块,映射给对应的逻辑处理函数 urlpatterns等于的一个列表,列表里的一个元素就是一条路由映射 urlpatterns路由映射配置方式 参数说明: 一个正则表达式字符串一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串可选的要传递给视图函数的默认参…
web的基本工作流程 首先,我们先来思考一下我们平常在上网浏览网页时候的场景,大致就是打开一个web浏览器,输入某一个网站的地址,然后转到该网址,在浏览器中得到该网址的页面.从这个场景中我们可以抽象出来几个基本对象,我们(用户).web浏览器(客户端)和发送过来页面的地方(服务端),这些对象其实就是整个web工作流程中的重要组成部分. 为了加强理解,其实可以将这个工作流程看做去吃饭时点餐的流程,web浏览器就是服务员,而服务端就是厨房.你给服务员说你要点什么菜,然后服务员将你点的菜端上来,具体厨…
Django路由分发|反向解析 当一个Django中有多个app时,路由会有很多,将这些路由都写在与项目同名的文件夹下就会显得很多,很乱.并且在协同开发的时候容易出现相同的命名,当项目合并后就会出现路由跳转的问题.此时使用路由分发就可以很好的解决这个问题. 路由分发使用方法如下: 1. 先在项目同名的文件夹下导入include模块: from django.conf.urls import url, include 2. 在urlpatterns中添加如下代码: url(r'app01/', i…
1 简单配置 -第一个参数是正则表达式(如果要精准匹配:'^publish/$')  -第二个参数是视图函数(不要加括号)  -url(r'^admin/', admin.site.urls), 注: 当为网站根目录实现一个视图,你需要使用URL模式`` ‘^$’`` , 它代表一个空字符串 不需要添加一个前导的反斜杠,因为每个URL 都有.例如,应该是^articles 而不是 ^/articles. 每个正则表达式前面的'r' 是可选的但是建议加上.它告诉Python 这个字符串是“原始的”…
Admin注册和路由分发详解 1.启动 #autodiscover_modules('admin', register_to=site) 2.注册 1.单例对象 admin.site = AdminSite(): 单例对象 AdminSite 源码: class AdminSite(object): def __init__(self, name='admin'): self._registry = {} def register(self, model, admin_class=None, *…
一.数据库表中字段的增删改查 ''' 直接在modules中对字段进行增删改查 然后在tools下点击Run manage.py Task执行makemigrations和migrate 注意在执行字段的删除过程中需不需要对数据进行备份 ''' 二.路由基础 ''' # url中含有四个参数 # url(regex, view, kwargs=None, name=None) # 正则路径 视图函数地址 默认关键字参数(了解) 路由别名 # r'index' 只要请求中含有index都可以匹配成…
  例如:127.0.0.0:8000/blog/lucaq.html,当有多个应用时,需要在blog应用下进行路由,我们在blog应用下做一个urls路由分发,就需要include模块实现.   导入include模块   分组: 引入include,在blog路径后加分组,Blog为应用名,urls为Blog下的urls,当路径为blog时,自动分发到Blog这个组,并将/blog/后面的路径传到Blog组,下图为Blog.urls配置    这边也建一个路由分发,拿到分发过来的路径后,正则…
路由分发决定哪一个路由由哪一个视图函数来处理. 注意:django2.0里的re_path和django1.0里的url除了名字不一样,其他都一样. 简单配置 from django.urls import path,re_path from app01 import views urlpatterns = [ path('admin/', admin.site.urls), path('timer/',views.timer), # 路由配置: 决定哪一个路由由哪一个视图函数来处理 # rep…
路由控制 一.简单路由配置 url(r'^booklist$', views.booklist) 第一个参数是正则表达式,第二个参数是视图函数 每个正则表达式前面的'r' 是可选的但是建议加上.它告诉Python 这个字符串是“原始的” —— 字符串中任何字符都不应该转义 url(r'booklist', views.booklist) url(r'booklistadd', views.booklistadd) 如果不加^ 和 $ ,由于路由匹配是从上往下匹配的,若是要匹配 booklista…
day56 昨日复习 今日内容 HTTP协议 网页:https://www.cnblogs.com/clschao/articles/9230431.html 老师整理的重点 老师整理的重点 请求信息格式 GET / HTTP/1.1 请求行 Host: 127.0.0.1:8003 请求头 Connection: keep-alive Cache-Control: max-age=0 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (W…
一.Django请求生命周期 二.路由层  urls.py url()方法 第一个参数其实就是一个正则表达式,一旦前面的正则匹配到了内容,就不会再往下继续匹配,而是直接执行对应的视图函数. django在路由匹配的时候,当你在浏览器中没有敲最后的斜杠, django会先拿着你没有敲斜杠的结果去匹配,如果没有匹配上,会让浏览器在末尾加斜杠再发一次请求,再去匹配一次,如果还是匹配不上才会报错. 如果你想取消该机制,不想做二次匹配可以在seetings配置文件中设置   APPEND_SLASH =…
一.安装Django 命令行窗口: pycharm安装: 二.创建Django项目 命令行窗口创建项目: 访问地址: 表示访问成功 注意如果我们在命令行窗口创建的应用需要我们手动的在django的settings配置文件中注册你添加的应用: INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'djan…
今日内容 HTTP协议 MVC和MTV框架模式 django下载安装 django的url路由分发 HTTP协议 http协议 请求信息格式 GET / HTTP/1.1 请求行 Host: 127.0.0.1:8003 请求头 Connection: keep-alive Cache-Control: max-age=0 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) Appl…
目录 路由控制 一.简单路由配置 二.无名分组 三.有名分组 四.反向解析 五.路由分发 六.名称空间(一般不使用) 七.伪静态 八.Django 2.x和Django 1.x 路由层区别 九.APPEND_SLASH 路由控制 一.简单路由配置 url(r'^booklist$', views.booklist) 第一个参数是正则表达式,第二个参数是视图函数 每个正则表达式前面的'r' 是可选的但是建议加上.它告诉Python 这个字符串是"原始的" -- 字符串中任何字符都不应该转…
今日的内容: a. 路由系统 1. 创建app 2. 路由的分组 3. 路由的分发 - 正则表达式匹配 b. django的orm(模型model) 1. 创建模型的步骤 2. orm基本的增删改查 3. 正向查询和反向查询 注意事项: 1. 前台传给后台一个列表时,后端如何接受: request.POST.getlist(字段名) 2. 前台传给后台一个列表时,需要在ajax请求中增加一个参数: traditional: true 3. 多选框设置选中状态时,可以使用 $("select的选择…
Django框架04 /模板相关.别名/反向解析/路由分发 目录 Django框架04 /模板相关.别名/反向解析/路由分发 1. 语法 2. 变量/万能的点 3 . 过滤器 4. 标签Tags 5. 模板继承/母版继承 6. 组件 7. 自定义标签和过滤器 8. 静态文件配置 9. url别名和反向解析 10. url命名空间 补充: 1. 语法 关于模板渲染需要记两种特殊符号(语法): {{ }} # 变量相关的用{{}} {% %} # 逻辑相关的用{ % % }. 2. 变量/万能的点…
Django框架02 /Django下载安装.url路由分发 目录 Django框架02 /Django下载安装.url路由分发 1. django下载安装 2. pycharm创建项目 3. 基于Django实现一个简单的示例 4. url配置 5. url路由分发之include 1. django下载安装 下载Django: pip3 install django==1.11.9 pip3 install django==1.11.9 -i http://xxxxxx # 指定源 创建一个…
一.路由分发: 路由分发是指:总路由不再直接做路由与视图函数的对应关系,而是将获取的路由分发给下面的app去处理对应关系 from django.conf.urls import url,include from app03 import urls as app03_urls from app01 import urls as app01_urls from app02 import urls as app02_urls urlpatterns = [ url(r'^app03/',includ…
对于一个大的工程,可能会有很多应用,比如cmbd,moniter,openstack等等,我们就要用到路由分发 1,首先在跟工程同名的文件夹下的urls中写分发表: from django.conf.urls import url,include urlpatterns = [ url(r'^app01/',include('app01.urls')), url(r'^app02/',include('cmbd.urls')), ] 2,在各应用app里创建urls.py并写上自己的路由分发:…
############################################### 总结: 一.url路由配置: 方式一:(通过url链接get获取) 方式二:(url路由匹配方式获取-拓展(元组方式,)) 方式三:(url路由匹配方式获取-拓展(字典方式)) 二.表单动态提交方式: name属性运用 request.path_info属性运用 三.路由分发 ############################################### 一.url路由配置: 方式一:…
一.先看下django的admin是如何进行路由分发的 1.先看下django的admin的url路径有哪些 其实很简单,假如有一个书籍表,那么每张表对应四个url,增.删.改.查 查看的url http://127.0.0.1:8080/admin/app1/auther/ 编辑的url http://127.0.0.1:8080/admin/app1/auther/23/change/ 增加的url http://127.0.0.1:8080/admin/app1/auther/add/ 删…
在urls.py文件中包含使用方法: from django.conf.urls import include, urlfrom django.contrib import admin urlpatterns = [ # Examples: # url(r'^blog/', include('blog.urls')), #以blog开头,则去APP:blog中urls.py文件下去找路由访问路径 # url(r'^admin/', include(admin.site.urls)), ] 使用方…
flask简单的路由分发 from flask import Flask, request app = Flask(__name__) @app.route('/hello') def index(): data = request.args.get('data') return 'hello world: ' + data if __name__ == '__main__': app.run() 访问方法…
url反向解析 url.py from django.conf.urls import url from django.contrib import admin from app01 import views urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^loginxxx/', views.login,name='login'), url(r'^indexxx/', views.index, name='index'), ] 视…