Django框架的介绍和安装

2 阅读5分钟

走进Django框架的世界

  • Django官网

  • 介绍

    • 开源的web应用框架,2003年发布,2005年发布正式版本,最初是为了帮助管理新闻网站的内容而开发的,旨在简化复杂网站的开发和维护过程
  • 版本演变

    • Django 1.x系列

      • 提供基本的Web开发功能,如URL路由、模板系统、ORM等。
      • 引入了许多核心组件和概念,奠定了Django作为Python Web框架的基础。
      • 在这个系列中,Django逐渐发展成为一个功能强大且稳定的Web框架。
    • Django 2.x系列

      • Python 3支持:全面支持Python 3,去除了对Python 2的兼容性。
      • 性能改进:对性能进行了多项优化,提高了Web应用的响应速度和吞吐量。
      • 引入ASGI(Asynchronous Server Gateway Interface)支持,为编写异步Web应用提供了可能。
      • 改进了模型字段的定义和数据库查询的方式。
      • 支持更好的测试和引入了新的测试框架。
    • Django 3.x系列

      • 性能和安全性增强:进一步优化了性能和安全性,引入了新的安全特性和修复了已知的安全漏洞。
      • 引入路径参数类型注解(Path Converters),为URL路由提供了更灵活的匹配方式。
      • 改进了Admin界面,提升了后台管理的用户体验。
      • 使用了新的Slugify算法,替代了UnicodeSlugify,以提供更好的本地化支持和安全性。
    • Django 4.x系列

      • 支持更新的Python版本(如Python 3.8、3.9等)。
      • 引入了更多的性能优化和安全修复。
      • 可能包含一些实验性或预览性的功能,为未来的版本做准备。
    • Django 5.x系列

      • 支持最新的Python版本:如Python 3.10、3.11和3.12,反映了Django对Python社区最新动态的支持。
      • 引入了字段组(Field Groups)和字段组模板(Field Group Templates),简化了Django表单字段相关元素的渲染。
      • 新的Field.db_default参数用于设置数据库计算的默认值。
      • 引入了GeneratedField,支持创建数据库生成的列。
      • 安全性和性能改进:继续加强安全性和性能优化,确保Django应用的高可靠性和高效性
  • 优势

    • 快速开发

      • Django 的设计目标是帮助开发人员尽快将应用程序从概念变为现实。
      • 开箱即用数据库处理,HTML渲染,登录鉴权等要开发的功能都已经集成好了。
    • 安全性高

      • Django 非常重视安全性并帮助开发人员避免许多常见的安全错误。
      • 使用ORM处理数据,常见的web安全问题:SQL注入、CSRF攻击等都不用担心。
    • 极具可扩展性

      • 网络上很多大型的网站利用 Django 快速灵活扩展的能力。
      • Instagram:作为全球知名的图片和视频分享社交平台
      • Pinterest:世界上最大的图片社交分享网站
      • 知乎
  • 特点

    • 简化URL路由语法:使得Django的URL路由语法更加简单和直观。
    • Admin后台系统:支持主流移动设备,并新增了有用的属性和方法,提升了后台管理的便捷性。
    • 用户认证:增强了用户认证的安全性,如提高了密码哈希的迭代次数。
    • 缓存和分页:提供了更高效的缓存和分页处理机制,提升了应用的性能。
    • 模板和验证器:改进了模板的灵活性和验证器的严格性,提高了开发效率和应用的健壮性

Django开发的环境安装-Django安装

  • Python安装(3.12.x)

  • Pycharm安装

  • Django安装

    • 使用pip依赖工具安装
      pip3 install Django==5.1
      
    • 查看安装成功与否
      pip3 list
      
  • 使用默认镜像源是国外的,所以速度会比较慢,更换镜像源

    • 查看镜像源
      pip3 config get global.index-url
      
    • 如果提示不存在,或者显示默认的地址:pypi.org/simple
    • 创建文件
      mkdir ~/.pip
      
    • 进入.pip,创建pip.conf
      touch ~/.pip/pip.conf 
      
    • vim编辑pip.conf,复制下面pip.conf文件内容,按拼音的 i 键,粘贴内容,接着保存退出:点击ESC按键,然后按拼音的":",点击按wq保存并退出
      • 编辑
        vim ~/.pip/pip.conf
        
      • pip.conf 文件内容
        [global]
        index-url = https://mirrors.aliyun.com/pypi/simple
        [install]
        usr-mirrors = true
        mirrors = http://mirrors.aliyun.com/pypi/simple
        trusted-host = mirrors.aliyun.com
        
    • Windows
      C:\Users\xxx\AppData\Roaming\pip\pip.ini
      

创建第一个Django项目

  • 通过pycharm编辑器创建

    • 直接在Pycharm上点击运行
  • 通过命令行方式创建

    django-admin startproject djangoProject
    
    • 运行项目
      python manage.py runserver
      
      或者
      python3 manage.py runserver
      
  • 访问:http://localhost:8000/

Django项目结构介绍

  • 目录结构

    • manage.py 和项目交互基本上都是基于这个文件,一般都是在终端输入python3 manage.py [子命令] manage.py输入python3 manage.py help查看更多
    • init.py 该文件可以让Python解释器把当前的目录视为一个Python包,允许你在其他模块中通过 import 语句来导入该目录下的模块或子包
    • asgi.py Django项目支持ASGI的入口点,ASGI是一个Python标准,用于异步Web服务器、Web框架和Web应用之间的通信,它允许你编写异步的Django视图和其他组件,以提 高应用的性能和响应能力,部署时需要用到
    • settings.py 项目的设置项,和项目相关的配置都是放在这个里面,包括和数据库的交互
    • urls.py 这个文件是用来配置URL路由的,比如访问http://127.0.0.1/about/是访问关于页面,则需要再当前文件配置
    • wsgi.py 项目与WSGI协议兼容的web服务器入口,部署的时候需要用到的,一般情况下也是不需要修改的。
  • app(模块)

    • app是Django项目的组成部分,一个app代表项目中的所有URL请求的响应都是由app来处理,Django能拥有不同的app
    • 创建一个app
    • python manage.py startapp about
      
      或者
      python3 manage.py startapp about