IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> django 0基础到高手知识笔记总结,50页笔记,共10大模块 -> 正文阅读

[Python知识库]django 0基础到高手知识笔记总结,50页笔记,共10大模块

django基础到高手知识笔记总结,50页笔记,共10大模块

Django框架

主要内容

  • 项目创建运行

  • 配置文件

  • 路由配置 (View)

  • request和response对象 (View)

  • 类视图 (View)

  • 中间件

  • 数据库 (Model

  • 模板(Template

  • admin站点管理

学了这么多python的知识,如果连django都不会的话,那有点说不过去。

想要的小伙伴直接去我的博客拿就行:

django 0基础到高手笔记集合icon-default.png?t=M85Bhttps://zhuanlan.zhihu.com/p/563669859

目录笔记的总目录为:

工程搭建

  • 掌握虚拟环境使用

  • 掌握Django项目和应用的创建

  • 掌握Django项目的运行

  • 掌握Django视图和模板的初步使用

虚拟环境安装

1. 创建虚拟环境

mkvirtualenv django_py3 -p python3

注意: 需要联网

2. 安装Django

pip install django==1.11.11

3. 相关命令

# 虚拟环境
mkvirtualenv ? ? ?# 创建虚拟环境
rmvirtualenv ? ? ?# 删除虚拟环境
workon ? ? ? ? ? ?# 进入虚拟环境、查看所有虚拟环境
deactivate ? ? ? ?# 退出虚拟环境
?
# pip
pip install ? ? ? # 安装依赖包
pip uninstall ? ? # 卸载依赖包
pip list ? ? ? ? ?# 查看已安装的依赖包 Django (1.11.11)
pip freeze ? ? ? ?# 查看已安装的依赖包 django==1.11.11

Django项目和应用创建

一、项目组织结构

  • 一个 Project 包含有多个 App

  • 一个

    App

    就是一个

    Python

    包,就代表一个功能模块,比如:用户模块,商品模块等

    • 各功能模块间可以保持相对的独立

    • 以包的形式组织代码方便功能模块的复用

二、创建项目的两种方式

  • 通过 pycharm 创建

  • 通过 命令行创建

1. 通过 pycharm 创建项目

项目创建出来后结构如下:

2. 通过命令创建

创建项目: django-admin startproject 项目名 创建应用: python manage.py startapp 应用名

  1. 创建项目

    1. 要创建Django项目, 先进入虚拟环境:

       workon 虚拟环境名
    2. 使用如下命令创建Django项目:

       django-admin startproject 项目名
       # 例:要创建的项目名为 Django02
       django-admin startproject Django02
  2. 创建应用

    1. 先进入项目根目录下:

       cd 项目根目录
    2. 执行以下命令创建应用

       # manage.py 为上述创建项目时自动生成的管理文件
       python manage.py startapp 应用名
       # 例: 
       python manage.py startapp users

请求对象

一、客户端传参的几种方式

  1. 通过 URL路径path)传递,例如:http://127.0.0.1:8000/news/1/2,两个参数:新闻类别id页码 

  2. 通过

    query string 查询字符串

    传递

    1. 例如:http://127.0.0.1:8000/news?category=1&page=2

    2. 关于URL格式: schema://host[:port][path][?query-string][#anchor]

  3. 通过 body 请求体传递,又可根据传递的数据格式,分为:

    1. 键值对:category=1&page=2

    2. 表单数据:

    3. 非表单数据(json, xml)

       {"category": 1, "page": 2}
      
       <news>
           <category>1</category>
           <page>2</page>
       </news>
  4. 通过 http 协议请求头header)传递

二、HttpRequest对象

一、Django请求和响应过程:

二、request对象常用属性:

AttributeDescription
path请求页面的全路径,不包括域名端口参数。例如: /users/index
method一个全大写的字符串,表示请求中使用的HTTP方法,常用值:GETPOSTDELETEPUT等。以下三种为 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.SessionStoreDjango 提供了 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和视图同时实现登录功能的 GETPOST 请求(注意:可能还有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中还可以通过类来定义一个视图,称为类视图

    • 类视图 的使用

      1. 定义一个类,继承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('执行发帖操作')
      2. 调用类视图的 as_view() 方法配置url

         urlpatterns = [
             ...
             # 类视图注册
             url(r'^post2$', views.PostView.as_view()),
         ]
  • 类视图优点:对于函数视图代码可读性和复用性更好

笔记太多了,喜欢的小伙伴直接直接去拿就行:

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-09-21 00:24:34  更:2022-09-21 00:28:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 10:49:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码