Django(一)


目录
  • Django(一)
    • 安装与下载
      • 下载
      • 测试
    • 项目的创建和启动
      • 命令行模式
      • 启动项目
      • 命令行创建和pycharm创建的区别
    • 创建应用(app)
    • 主要文件介绍
    • “三板斧”

Django(一)

image

??[Django官网](The web framework for perfectionists with deadlines | Django (djangoproject.com))

主流Web框架介绍

1.django框架
	大而全,自带的功能组件非常非常非常的多!类似于航空母舰
 
2.flask框架
	小而精,自身的功能组件非常非常非常的少!类似于游骑兵
     但是第三方模块非常之多,如果把第三方模块全部叠加起来完全可以盖过django
    有时候也会受限于第三方模块
    ps:三行代码就可以启动一个flask后端服务

3.tornado框架	
	异步非阻塞  速度非常的快 快到可以开发游戏服务器
ps:Sanic、FastAPI...

    
# 框架分块和区别
A:socket部分
B:路由与视图匹配
C:模板语法
  
django
   A:用的是wsgiref模块
   B:用自己写的
   C:用自己写的
flask
   A:用的是wsgiref模块封装之后werkzeug
   B:用自己写的
   C:用jinja2模块
tornado	
	A、B、C都是自己写的

安装与下载

??下载 Django |Django (djangoproject.com)

  • 计算机名称不能有中文
  • 项目名和py文件名最好也不要使用中文
  • django版本兼容问题:主要有1.X、2.X、3.X

image

下载

image

  • pip3 install django==[版本号]
  • pycharm下载
  • !!!注意下载带LTS(长期支持版本)的!!!

测试

  • django-admin

image

项目的创建和启动

命令行模式

django-admin startproject 项目名

启动项目

命令行模式

1.创建django项目
django-admin startproject mysite1
2.启动项目名
切换到manage.py入口文件所在目录:cd Django_items\mysite1
启动的三种方式:
2.1 python manage.py runserver 
2.2 python manage.py runserver ip:port
2.3 python manage.py runserver port 
# ip本机,端口自定义,不写Django默认端口8000

pycharm创建

image

image

启动

image

如果没有启动按钮,那么就点击:

image

结果都是一样可以启动的

image

命令行创建和pycharm创建的区别

  • pycharm创建:自动生成templates文件夹

    • settings.py文件中自动拼接了路径

image

  • 命令行创建:没有templates文件夹
    • settings.py文件没有拼接路径

image

? ps:Django2/3.X版本拼接模板文件路径用的是[BASE_DIR / 'templates'],如果路径不能用/拼接修改成[os.path.join(BASE_DIR, 'templates')];如果使用cmd创建需要添加模板文件的路径,且注意Django版本

创建应用(app)

一个项目至少含有一个应用!

命令行模式:

python manage.py startapp 应用名
E:\Django_items\djangoProject1>python manage.py startapp app01

pycharm创建

Tools => run manage.py task
或
创建项目的时候可以快捷创建一个!

startapp 应用名
manage.py@djangoProject1 > startapp app03

创建完应用要去配置文件注册

如果在创建应用的时候创建的项目,pycharm自动给注册了

    INSTALLED_APPS = [
            'django.contrib.admin',
            'django.contrib.auth',
            'django.contrib.contenttypes',
            'django.contrib.sessions',
            'django.contrib.messages',
            'django.contrib.staticfiles',
            'app01',
            'app02'
    ]

主要文件介绍

mysite1  # 项目名
    app01  # 应用名
        migrations # 迁移数据库的时候,会把迁移记录保存到这里来
        	__init__.py
        admin.py   # django自带的后台管理系统
        apps.py    # 忽略
        models.py  # 模型层,以后跟数据库相关的都在这个里面
        tests.py   # 测试脚本
        views.py   # view层,主要用来写逻辑的
mysite1
    __init__.py
    settings.py   # 整个django项目的全局配置文件
    urls.py       # 路由层,写的是路径与函数的对应关系
    wsgi.py		  # wsgiref服务器, WSGI协议,uwsgi服务器
templates         # 写html页面的地方
db.sqlite3        # django自带的小型数据库, mysql,oracle
manage.py		  # 启动文件,入口文件

“三板斧”

from django.shortcuts import render,HttpResponse,redirect

# 通过urls.py
1.HttpResponse
	返回字符串
2.render
	返回html页面,还可以使用模板语法
    
3.redirect
	重定向