共计 2253 个字符,预计需要花费 6 分钟才能阅读完成。
对于初学 django 老手,依据以下步骤能够疾速进行 Django 环境搭建
虚拟环境创立
应用 virtualenv 创立并启用虚拟机环境,对于 virtualenv 可参考 https://www.yuque.com/binowen/tn8zvy/insclepip 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
- 创立 templates 文件夹,并把所有网页模板 (.html) 文件都放在此文件夹中。
- 创立 static 文件夹,并把所有动态文件 (图像文件、CSS 文件及.js 等) 都放在此文件夹中。
创立 Model/View/Url
- 批改 settings.py,把相干的文件夹退出,也把生成的 app 名称退出 INSTALLED_APPS 序列中。
- 编辑 models.py,创立数据库表格。
- 编辑 views.py,先 import 在 models.py 中创立的数据模型。
- 编辑 admin.py,把 models.py 中定义的数据模型退出,并应用 admin.site.register 注册新增的类,让 admin 界面能够解决数据库内容。
- 编辑 urls.py,先 import 在 views.py 中定义的模块
- 编辑 urls.py,创立网站和 views.py 中定义的模块的对应关系。
- 执行数据库脚本初始化(如果有 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/