Django简介及安装、配置

Django简介及安装、配置

python主流web框架

  1. Django:特点是大而全
    这个特点意味着它功能的强大,也意味着它资源的臃肿,但是总体上还是瑕不掩瑜的一个框架。
  2. flask:特点是小而精
    自身所带的功能很少,很多时候需要借助第三方模块,这也带来模块版本性兼容的一些问题。
  3. tornado:异步非阻塞,速度极快效率奇高,甚至可以充当游戏服务端

还有一些框架如sanic、fastapi等

Django简介

版本

img

  • 1.x 最终版本1.11。在早些时候是经常用的。
  • 2.x 最终版本2.2。在现在也很常用,不过也会有不少项目开始向3.x过渡
  • 3.x 最终版本3.2。开始支持异步,已经开始成为官方建议使用版本
  • 4.x 刚开始的版本,暂时没有太多项目会用,因为太新了。

我们可以选择2.2.22版本进行学习。

下载安装

pip3 install django==2.2.22  # 版本号跟在后面,如果下不动记得换仓库 '''如果之前下载了其他版本不用管 自动替换!!!'''

注意事项

  1. 计算机名称不能出现中文,很容易报错,如果因为这个原因则重命名重启计算机即可
  2. python解释器版本不同可能会出现启动报错
  3. 项目所有的文件夹文件名称以英文命名
  4. 多个项目文件尽量不要嵌套,一项一夹

Django常见操作

验证下载成功与否

注意django目录是否添加到环境变量

(在下载了模块、插件、框架的时候,最后会以warning提示你安装到了哪个路径下)

django-admin

常见操作指令

# 1.创建django项目    django-admin startproject 项目名(如:mysite) 
# 2.启动django项目   
cd 项目名(如:mysite)    
python3 manage.py runserver IP:PORT     
'''IP:PORT可以不写 默认在本地8000端口起服务''' 
# 3.创建app应用    python3 manage.py startapp 应用名(jason01)

pycharm中基本操作

  1. 创建项目

    img

    在pycharm中创建新项目时可以选择连带创建templates文件夹和一个软件并配置。

  2. 完善配置

    配置templates的路径:

    img

    注意要在配置文件中配置它的路径,因为可能不止一个文件夹存储模板层,所以用列表存储路径。

    配置app注册:

    INSTALLED_APPS = [
    	...
        'app01',  # 简写配置
        'app02.apps.App02Config'  # 全写配置
    ]  # 两种书写形式都可以
    

Django项目主要文件

Django项目目录名

  • Django项目同名目录
    • settings.py 配置文件
    • urls.py 路由文件
    • wsgi.py wsgiref网关文件
  • db.sqlite3.py文件 django自带的小型数据库(项目启动后出现)
  • manage.py 入口文件(提供各种命令)
  • 应用目录(app01)
    • migrations目录 存储数据库相关记录
    • admin.py django内置的admin后台管理功能
    • apps.py 注册app相关
    • models.py 与数据库打交道的文件(重要文件)
    • tests.py 测试文件
    • view.py 视图文件(存储一些功能,提交页面等)
  • templates目录 存储html文件

一些概念:

  • view文件中的函数和类被称为视图函数和视图类
  • urls --- 路由层
  • view --- 视图层
  • models --- 模型层
  • templates --- 模板层

一些基本的视图层操作

from django.shortcuts import render,HttpResponse,redirect

def xxx():在一些操作后,最终将最后的页面提交给urls ---> 给前端
# HttpResponse  返回字符串类型的数据
	return HttpResponse(b'hello')  
# render  返回html页面并且支持传值  最常用,支持了类似jinja2的功能
	return render(request, 'html路径', 传值字典)
# redirect  重定向
	return redirect('url')  # 访问这个功能,最终就会重定向到指定的网址
posted @ 2023-06-26 14:12  wwwxxx123  阅读(21)  评论(0编辑  收藏  举报