- Django各个目录作用
如上图:创建一个Django项目demo,工程下面自带一个同项目名相同的模块demo和一个manage.py文件。项目下面可以创建多个APP(即模块),比如上图中的firstapp、secondapp,APP下面包含一个migrations和一系列python文件。
manage.py:主要作用是,启动和管理项目。Django自带一个开发者服务器,可以由该文件启动服务器,比如:python manage.py runserver.也可以用该文件创建App(python manage.py startapp app-name)和生成迁移文件(python manage.py makemigrations)以及执行迁移文件(python manage.py migrate)
demo模块:python中,所有包含__init__.py文件的文件夹都是属于python模块,即使__init__.py这个文件是个空文件。有了这个文件的文件夹意味着这个文件夹可以作为python中的模块被引用。demo模块也是如此。它主要用来管理项目,包含着以下四个文件:
__init__.py:项目初始化文件。在这里导入pymysql驱动,在项目配置了mysql数据库后,所有的APP都可以使用pymysql连接到数据库。
settings.py:是整个项目的配置文件,项目的所有配置都在这里进行(声明可用的APP、django依赖的中间件、模板信息、数据库信息、密码验证、语言、时区……)
urls.py:Django的路由分发器,所有的请求都会由此进行匹配,进而分发到每个视图中去。
wsgi :使用其他服务器的启动文件。
APP:
__init__ .py:APP的初始化文件。
admin.py:后台管理模型文件。
apps.py:django自动生成的APP配置信息,在settings中声明APP应用需要用到。
models.py:模型文件,所有APP模型在这里创建。
tests.py:测试文件,所有APP测试在这里创建。
urls.py :APP的路由分发器。一个请求过来,先由demo文件下的urls.py分发请求到每个APP,再由APP下的urls.py分发到对应的视图函数。其实就是一个中间路由分发器,这样设计规避了不同APP试图函数命名冲突的问题。
views :视图函数文件,所有的APP视图函数在沼泽里创建。
- django的自带表
django_migrates:记录了项目的所有的迁移文件。
django_content_type:记录了项目中所有的模型。
- 修改model
每次更改model 都要执行python manage makemigrations生成迁移文件和python manage.py migrate执行迁移文件,使得