Django框架次要内容我的项目创立运行配置文件路由配置 (View)request和response对象 (View)类视图 (View)中间件数据库 (Model)模板(Template)admin站点管理学了这么多python的常识,如果连django都不会的话,那有点说不过去。想要的小伙伴间接去我的博客拿就行:

django笔记 MD文档 超丰盛

目录笔记的总目录为:


工程搭建把握虚拟环境应用把握Django我的项目和利用的创立把握Django我的项目的运行把握Django视图和模板的初步应用虚拟环境装置

  1. 创立虚拟环境mkvirtualenv django_py3 -p python3留神: 须要联网2. 装置Djangopip install django==1.11.113. 相干命令# 虚拟环境mkvirtualenv      # 创立虚拟环境rmvirtualenv      # 删除虚拟环境workon            # 进入虚拟环境、查看所有虚拟环境deactivate        # 退出虚拟环境# pippip install       # 装置依赖包pip uninstall     # 卸载依赖包pip list          # 查看已装置的依赖包 Django (1.11.11)pip freeze        # 查看已装置的依赖包 django==1.11.11Django我的项目和利用创立一、我的项目组织构造一个 Project 蕴含有多个 App一个 App 就是一个 Python 包,就代表一个功能模块,比方:用户模块,商品模块等各功能模块间能够放弃绝对的独立以包的模式组织代码不便功能模块的复用二、创立我的项目的两种形式通过 pycharm 创立通过 命令行创立1. 通过 pycharm 创立我的项目

    我的项目创立进去后构造如下:
  2. 通过命令创立创立我的项目: django-admin startproject 我的项目名
    创立利用: python manage.py startapp 利用名创立我的项目要创立Django我的项目, 先进入虚拟环境: workon 虚拟环境名应用如下命令创立Django我的项目: django-admin startproject 我的项目名 # 例:要创立的我的项目名为 Django02 django-admin startproject Django02创立利用先进入我的项目根目录下: cd 我的项目根目录执行以下命令创立利用 # manage.py 为上述创立我的项目时主动生成的管理文件 python manage.py startapp 利用名 # 例: python manage.py startapp users

    申请对象一、客户端传参的几种形式通过 URL门路(path)传递,例如:http://127.0.0.1:8000/news/1/2,两个参数:新闻类别id 和 页码 通过 query string 查问字符串传递例如:http://127.0.0.1:8000/news?ca...对于URL格局: schema://host:port?query-string通过 body 申请体传递,又可依据传递的数据格式,分为:键值对:category=1&page=2表单数据:非表单数据(json, xml) {"category": 1, "page": 2} <news> <category>1</category> <page>2</page> </news>通过 http 协定申请头(header)传递二、HttpRequest对象一、Django申请和响应过程:

    二、request对象罕用属性:AttributeDescriptionpath申请页面的全门路,不包含域名端口参数。例如: /users/indexmethod一个全大写的字符串,示意申请中应用的HTTP办法,罕用值:GET, POST,DELETE,PUT等。以下三种为 GET 申请: form 表单默认提交(或者method指定为get)在浏览器中输出地址间接申请网页中的超链接(a标签)user已登录:AbstractUser对象;未登录:AnonymousUser对象; 判断是否曾经登录: request.user.is_authenticated(),返回true示意曾经登录GET相似字典的 QueryDict 对象,蕴含 GET 申请的所有参数POST相似字典的 QueryDict 对象,蕴含 POST 申请的所有键值对参数(表单post提交的参数)body获取原始的申请体数据,获取到的数据为bytes类型METApython 字典类型,封装了申请头headers中的数据 - REMOTE_ADDR – 客户端的IP地址 - REQUEST_METHOD — 一个字符串,例如"GET" 或"POST - CONTENT_TYPE – 申请的注释的MIME 类型 留神:对于用户增加到申请头中的键值,Django会给键加上前缀 HTTP_再转换成大写,再把键值保留到request.META中 官网文档参考COOKIES一个规范的 python 字典,蕴含所有的 cookies, 键和值都是字符串session可读可写的相似字典的对象: django.contrib.sessions.backends.db.SessionStore。 Django 提供了 session 模块,默认就会开启用来保留 session 数据类视图一、类视图发帖性能 # url配置 urlpatterns = [ url(r'^post$', views.post), # 显示发帖界面 url(r'^do_post$', views.do_post), # 执行发帖操作 ] # 视图 def post(request): """get申请: 显示发帖界面""" return render(request, 'post.html') def do_post(request): """post申请: 执行发帖操作""" title = request.POST.get('title') content = request.POST.get('content') return HttpResponse('发帖:title=%s, content=%s' % (title, content))通过一个URL和视图同时实现登录性能的 GET 和 POST 申请(留神:可能还有PUT DELETE等); # url配置 urlpatterns = [ url(r'^post$', views.post), # 发帖性能 ] # 视图 def post(request): """发帖性能""" if request.method == 'GET': # get申请: 显示发帖界面 return render(request, 'post.html') else: # post申请: 执行发帖操作 title = request.POST.get('title') content = request.POST.get('content') return HttpResponse('发帖:title=%s, content=%s' % (title, content))类视图 实现以函数的形式定义的视图称为函数视图在Django中还能够通过类来定义一个视图,称为类视图类视图 的应用定义一个类,继承Django提供的View类 from django.views.generic import View class PostView(View): def get(self, request): """get申请: 显示发帖界面""" return render(request, 'post2.html') def post(self, request): """post申请: 执行发帖操作""" # 代码简略 return HttpResponse('执行发帖操作')调用类视图的 as_view() 办法配置url urlpatterns = [ ... # 类视图注册 url(r'^post2$', views.PostView.as_view()), ]类视图长处:对于函数视图代码可读性和复用性更好笔记太多了,喜爱的小伙伴间接间接去拿就行: