对于初学django老手,依据以下步骤能够疾速进行Django环境搭建

虚拟环境创立

应用virtualenv创立并启用虚拟机环境 ,对于virtualenv可参考https://www.yuque.com/binowen/tn8zvy/inscle
pip install virtualenv
virtualenv ./env
source env/bin/activate

创立project

1.应用pip install 装置django

pip install django

2.应用django-admin startproject 生成我的项目

 根目录的mysite/,仅仅是个目录而已,Django不会拿它做什么,它的名字能够随便批改

留神: startproject不反对间接创立带短横线的我的项目名,e.g. hello-world

我的项目构造

  • asgi.py

兼容ASGI Web服务器的入口。

  • wsgi.py

兼容WSGI Web服务器的入口。
ASGI和WSGI,都是一种Python的Web服务网关接口协议,是在CGI通用网关接口,Common Gateway Interface)的规范上构建的。

  • urls.py

网址入口,关联到对应的views.py中的一个函数(或者generic类),拜访网址就对应一个函数。

  • views.py

解决用户收回的申请,从urls.py中对应过去, 通过渲染templates中的网页能够将显示内容,比方登陆后的用户名,用户申请的数据,输入到网页。

  • models.py

与数据库操作相干,存入或读取数据时用到这个,当然用不到数据库的时候 你能够不应用。

  • forms.py

表单,用户在浏览器上输出数据提交,对数据的验证工作以及输入框的生成等工作,当然你也能够不应用。

  • templates 文件夹

views.py 中的函数渲染templates中的Html模板,失去动静内容的网页,当然能够用缓存来进步速度。

  • admin.py

后盾,能够用很大量的代码就领有一个弱小的后盾。

  • settings.py

Django 的设置,配置文件,比方 DEBUG 的开关,动态文件的地位等。

创立app

应用python manage.py startapp 创立app

app是Django我的项目的利用,一个project能够蕴含多个app。在应用django-admin startapp命令后就会创立这样的目录文件,如下:

  • polls/

app的Python包,能够放在任意门路。批改寄存门路,相干配置中的门路也须要批改。

  • admin.py

寄存Django自带后盾治理的models。

  • apps.py

app配置信息,例如:
from django.apps import AppConfig

class PollsConfig(AppConfig):
name = 'polls'

寄存门路不同,name的值也不同。    

  • migrations/

Django数据迁徙生成的迁徙记录文件。

  • models.py

寄存app的models。

  • tests.py

单元测试。

  • views.py

视图函数(类)。

  • urls.py

app的路由配置,须要手动增加,可通过include()函数导入到mysite/urls.py中,例如:
from django.contrib import admin
from django.urls import include, path

urlpatterns = [
path('admin/', admin.site.urls),
path('polls/', include('polls.urls')),
]

   polls/urls.py:

from django.urls import path

from . import views

urlpatterns = [
path('', views.index),
]

拜访xxx/polls/就会路由到views.index

创立Template

  1. 创立templates文件夹,并把所有网页模板(.html)文件都放在此文件夹中。
  2. 创立static文件夹,并把所有动态文件(图像文件、CSS文件及.js等)都放在此文件夹中。

创立Model/View/Url

  1. 批改settings.py,把相干的文件夹退出,也把生成的app名称退出INSTALLED_APPS序列中。
  2. 编辑models.py,创立数据库表格。
  3. 编辑views.py,先import在models.py中创立的数据模型。
  4. 编辑admin.py,把models.py中定义的数据模型退出,并应用admin.site.register注册新增的类,让admin界面能够解决数据库内容。
  5. 编辑urls.py,先import在views.py中定义的模块
  6. 编辑urls.py,创立网站和views.py中定义的模块的对应关系。
  7. 执行数据库脚本初始化(如果有Model的话)

python manage.py makemigrations
python manage.py migrate

执行python manage.py runserver 0.0.0.0:8000 启动我的项目

工程化我的项目参考

因为Django官网并没有提供规范的我的项目构造

特点是①app搁置在独自目录对立治理,②requirements和settings按环境做拆分

参考:
https://docs.djangoproject.com/en/3.1/intro/tutorial01/
https://django-edge.readthedocs.io/en/latest/Architecture/