栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

2021-09-21

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021-09-21

Django的汇总
  • 前言
  • 一、框架引入
  • 二、Django框架
    • 1.介绍
    • 2.项目的创建与运行
    • 3.Django的URL(了解不深,稍后处理)
    • 4.Django的URL(了解不深,稍后处理)
      • 1.指令
      • 2.Model模型的实例
    • 5.Django的视图层
  • 6. Django的模板层
  • 总结


前言

值得学习!!


一、框架引入
  1. 什么是框架?
    框架就是程序的骨架,主体结构,也是个半成品。
  2. 框架的优缺点
    可重用、成熟,稳健、易扩展、易维护
  3. Python中常见的框架
    . 大包大揽 Django 被官方称之为完美主义者的Web框架。
    . 力求精简 web.py和Tornado
    . 新生代微框架 Flask和Bottle
  4. Web框架中的一些概念: MVC和MVT

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

二、Django框架 1.介绍 - Django是一个高级的Python Web框架,它鼓励快速开发和清洁,务实的设计 - 由经验丰富的开发人员构建,它负责Web开发的许多麻烦,因此您可以专注于编写应用程序,而无需重新创建轮子。 它是免费的和开源的。 - 被官方称之为完美主义者的Web框架。 - Django可以更快地构建更好的Web应用程序并减少代码 - 官方网址:https://www.djangoproject.com/
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context
2.项目的创建与运行
  • 创建项目

    django-admin startproject myweb

  • 运行开发服务器
    python manage.py runserver
    python manage.py runserver 0:8000

  • 创建一个应用程序
    python manage.py startapp myapp

3.Django的URL(了解不深,稍后处理)
  • 创建项目

    django-admin startproject myweb

  • 运行开发服务器
    python manage.py runserver
    python manage.py runserver 0:8000

  • 创建一个应用程序
    python manage.py startapp myapp

data = pd.read_csv(
    'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())
4.Django的URL(了解不深,稍后处理) 1.指令
  • 生成迁移文件

    python manage.py makemigrations

  • 执行迁移

    python manage.py migrate

  • 使用模型类进行CRUD操作

2.Model模型的实例
  • 模型实例对象是通过objects属性获取,即Django为模型类提供的管理器。
    objects:是Manager类型的对象,用于与数据库进行交互
  • 实例的方法 str(self):
    重写object方法,此方法在将对象转换成字符串时会被调用 save(
    ):将模型对象保存到数据表中 delete( ):将模型对象从数据表中删除
data = pd.read_csv(
    'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())

该处使用的url网络请求的数据。


5.Django的视图层
  • Django的View视图介绍 Django框架中的视图(View)是用来负责处理用户请求和返回响应的逻辑程序
    视图(View)简而言之就是一个Python的函数或方法,接受处理Web请求。
    视图的响应可以是网页的HTML内容,重定向或404错误,XML文档或图像。
    视图的代码按惯例是放置一个名为views.py的文件中,此文件放在项目或应用程序目录中。(其实视图文件名可以自己定义)

  • HttpResponse对象 在django.http模块中定义了HttpResponse对象的API
    HttpRequest对象由Django自动创建,HttpResponse对象由程序员创建
    在每一个视图函数中必须返回一个HttpResponse对象,当然也可以是HttpResponse子对象

  • HttpRequest对象
    属性 :下面除非特别说明,属性都是只读的
    path:一个字符串,表示请求的页面的完整路径,不包含域名
    method:一个字符串,表示请求使用的HTTP方法,常用值包括:‘GET’、'POST’
    encoding:一个字符串,表示提交的数据的编码方式: 一般为utf-8
    GET:一个类似于字典的对象,包含get请求方式的所有参数
    POST:一个类似于字典的对象,包含post请求方式的所有参数
    FILES:一个类似于字典的对象,包含所有的上传文件
    cookieS:一个标准的Python字典,包含所有的cookie,键和值都为字符串
    session:一个既可读又可写的类似于字典对象,表示当前会话,需Django 启用会话才可用。

  • 方法:
    is_ajax():如果请求是通过XMLHttpRequest发起的,则返回True
    QueryDict对象

  • request对象的属性GET、POST都是QueryDict类型的对象

  • 与python字典不同,QueryDict类型的对象用来处理同一个键带有多个值的情况

  • 方法get():根据键获取值
    只能获取键的一个值
    如果一个键同时拥有多个值,获取最后一个值

  • 方法getlist():根据键获取值
    将键的值以列表返回,可以获取一个键的多个值
    dict.getlist(‘键’,default)

  • 验证码实战
    在用户注册、登录页面,为了防止暴力请求,可以加入验证码功能,如果验证码错误,则不需要继续处理,可以减轻一些服务器的压力
    使用验证码也是一种有效的防止crsf的方法
    需要安装扩展:pip3 install pillow

6. Django的模板层
  • Django的模板介绍
  1. 作为Web 框架,Django 需要一种很便利的方法来动态地生成HTML。常见做法是使用模板。
  2. 模板包含所需HTML 输出的静态部分,以及一些特殊的语法,描述如何将动态内容插入。
  3. 模板任务就是输出数据,输出方式:直接输出,过滤输出、判断输出,循环输出
  4. 在Django框架中如何使用模板:
    1. 在项目的settings.py配置文件中配置模板目录
      ‘DIRS’: [os.path.join(base_DIR,‘templates’)],
    2. 在应用的视图文件加载模板,并放置要输出的数据
      return render(request,“目录/模板文件.html”,{放置字典数据})
    3. 在模板文件中使用变量、标签和过滤器等输出信息
      {{ 变量 }} {% 标签 %} {{ 变量|过滤器 }}
  • 模板语法
    变量的输出
    模板的标签
    模板的过滤器
    模板的注释
    模板中的运算
    自定义标签或过滤器

  • 模板继承

  • 模板继承可以减少页面内容的重复定义,实现页面内容的重用

典型应用:网站的头部、尾部是一样的,这些内容可以定义在父模板中,子模板不需要重复定义
block标签:在父模板中预留区域,在子模板中填充
extends继承:继承,写在模板文件的第一行

  • Ajax应用实战
    Ajax = Asynchronous Javascript and XML(异步的 Javascript 和 XML)。
    Ajax 不是新的编程语言,而是一种使用现有标准的新方法。
    Ajax 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。
    本次案例是使用jQuery实现一个城市级联信息加载实战

  • Web工具分页操作,文件上传
    Django提供了一些类实现管理数据分页,这些类位于django/core/paginator.py中
    Paginator对象
    Paginator(列表,int):返回分页对象,参数为列表数据,每面数据的条数
    属性
    count:对象总数
    num_pages:页面总数
    page_range:页码列表,从1开始,例如[1, 2, 3, 4]
    方法
    page(num):下标以1开始,如果提供的页码不存在,抛出InvalidPage异常

当Django在处理文件上传的时候,文件数据被保存在request.FILES
FILES中的每个键为中的name
注意:FILES只有在请求的方法为POST 且提交的带有enctype=“multipart/form-data” 的情况下才会包含数据。
否则,FILES 将为一个空的类似于字典的对象

总结

初学,还请指教!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/296026.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号