1. Django项目与Django应用
Django项目通常是使用django-admin工具创建的项目结构,执行如下命令创建Django项目myproject:
而Django应用是在Django项目中,使用Django项目的manage.py(等同于django-admin工具的项目定制版)创建,在myproject/路径下执行如下命令创建应用myApp:
一个Django项目就是一个基于Django的Web应用。
一个Django项目中包含一组配置和若干个Django应用。
一个Django应用就是一个可重用的Python软件包,提供一定的功能。
一个Django应用中可以包含models, views, templates, template tags, static files, URLs等。
一个Django项目可以包含多个Django应用。
一个Django应用也可以被包含到多个Django项目中,因为Django应用是可重用的Python软件包。
2. myproject/myproject/settings.py中的变量INSTALLED_APPS
该变量的值是一个list,给出在Django项目中包含的Django应用。
Django框架默认情况下,Django项目中包含如下Django应用:
3. django.apps模块
在Python代码中,可以使用django.apps.apps引用上述settings.py中的INSTALLED_APPS变量。django.apps.apps也被称为应用注册器,提供如下public的方法:
apps.ready()
apps.get_app_configs()
apps.get_app_config(my_app_label)
apps.is_installed(my_app_name)
apps.get_model(my_app_label, my_model_name, require_ready=True)
示例如下:
上述Python脚本执行,输出'Admin'。
事实上,一个Django应用就是一个django.apps.AppConfig类的扩展子类。
4. 在myproject项目中创建一个Django应用myapp
我们都熟悉了使用manage.py在Django项目中创建Django应用的方式,下面以Python代码的方式直接创建Django应用。
1) 编辑myproject/myapp/apps.py
2) 注册到myproject/myproject/settings.py
3) python3 manage.py makemigrations myapp
4) python3 manage.py migrate
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) | Powered by Discuz! X3.2 |