安装

  1. pip install django
  2. #查看版本
  3. python -m django --version

创建项目

新建一个新目录在终端中进入该目录,执行 django-admin startproject

  1. django-admin startproject myapps

image.png

  • 最外层 myapps/ 就是项目根目录 d:\projects\myapps\ , 项目文件都放在里面。
  • manage.py 是一个工具脚本,用作项目管理的。以后我们会使用它执行管理操作。
  • 里面的 myapps/ 目录是python包。 里面包含项目的重要配置文件。这个目录名字不能随便改,因为manage.py 要用到它。
  • myapps/settings.py 是 Django 项目的配置文件. 包含了非常重要的配置项,以后我们可能需要修改里面的配置。
  • myapps/urls.py 里面存放了 一张表, 声明了前端发过来的各种http请求,分别由哪些函数处理. 这个我们后面会重点的讲。
  • myapps/wsgi.py
    要了解这个文件的作用, 我们必须明白wsgi 是什么意思python 组织制定了 web 服务网关接口(Web Server Gateway Interface) 规范 ,简称wsgi。参考文档 https://www.python.org/dev/peps/pep-3333/遵循wsgi规范的 web后端系统, 我们可以理解为 由两个部分组成wsgi web server 和 wsgi web application它们通常是运行在一个python进程中的两个模块,或者说两个子系统。
  • wsgi web server 接受到前端的http请求后,会调用 wsgi web application 的接口( 比如函数或者类方法)方法,由wsgi web application 具体处理该请求。然后再把处理结果返回给 wsgi web server, wsgi web server再返回给前端。

    运行

    ```bash PS D:\86176\Documents\projects\myapps> python .\manage.py runserver 0.0.0.0:80 #启动服务 Watching for file changes with StatReloader Performing system checks…

System check identified no issues (0 silenced).

You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions. Run ‘python manage.py migrate’ to apply them. July 27, 2021 - 15:23:23 Django version 3.2.5, using settings ‘myapps.settings’ Starting development server at http://0.0.0.0:80/ Quit the server with CTRL-BREAK. [27/Jul/2021 15:24:19] “GET / HTTP/1.1” 200 10697 [27/Jul/2021 15:24:19] “GET /static/admin/css/fonts.css HTTP/1.1” 200 423 [27/Jul/2021 15:24:19] “GET /static/admin/fonts/Roboto-Bold-webfont.woff HTTP/1.1” 200 86184 [27/Jul/2021 15:24:19] “GET /static/admin/fonts/Roboto-Regular-webfont.woff HTTP/1.1” 200 85876 [27/Jul/2021 15:24:19] “GET /static/admin/fonts/Roboto-Light-webfont.woff HTTP/1.1” 200 85692 Not Found: /favicon.ico [27/Jul/2021 15:24:19] “GET /favicon.ico HTTP/1.1” 404 2105 Invalid HTTP_HOST header: ‘192.168.234.214’. You may need to add ‘192.168.234.214’ to ALLOWED_HOSTS. Bad Request: / [27/Jul/2021 15:27:47] “GET / HTTP/1.1” 400 63679 Invalid HTTP_HOST header: ‘192.168.234.214’. You may need to add ‘192.168.234.214’ to ALLOWED_HOSTS. Bad Request: /favicon.ico [27/Jul/2021 15:27:47] “GET /favicon.ico HTTP/1.1” 400 63725 ``` image.png