Django学习教程(三)创建Django应用
- 前言
- 1.项目和应用的关系
- 2.创建应用
- 3.应用目录结构
- 4.models.py文件
- 5.views.py文件
- 6.admin.py文件
- 7.apps.py文件
- 8.注册应用
- 9.启动项目测试
- 10.总结
前言
上一篇我们学习了怎样创建Django项目,并且成功启动了项目。这一篇我们继续学习怎样创建Django应用。
在Django中,一个项目下面可以有多个应用。比如我们开发一个博客项目,可以创建文章应用、用户应用、评论应用等。这样项目结构会更加清晰。
1.项目和应用的关系
在Django中,项目和应用是两个概念。
项目可以理解为整个Web工程,应用可以理解为工程中的一个功能模块。
比如一个博客系统中,可以有:
- 文章模块
- 用户模块
- 评论模块
- 分类模块
这些模块都可以作为一个个Django应用存在。
2.创建应用
创建应用需要在manage.py所在目录下执行命令。
语法:
python manage.py startapp 应用名
这里我们创建一个名为blog的应用。
命令:
python manage.py startapp blog
执行完成后,会生成一个blog目录。
3.应用目录结构
blog应用的目录结构大致如下:
blog
│ admin.py
│ apps.py
│ tests.py
│ views.py
│ init.py
│
└─migrations
│ init.py
下面我们简单看下这些文件的作用。
4.models.py文件
models.py用来定义模型类。
后面我们创建博客文章表时,就会在models.py中定义文章模型。
可以简单理解为,models.py中的类会和数据库表产生关系。
5.views.py文件
views.py用来编写视图函数。
用户访问某个地址时,最终会由视图函数来处理请求,并返回响应结果。
这个和JavaWeb中Controller里的方法有点类似。
6.admin.py文件
admin.py用来配置Django自带的Admin后台管理。
后面我们创建博客文章模型后,可以把模型注册到admin.py中,这样就可以在后台管理文章数据。
7.apps.py文件
apps.py是应用的配置文件。
里面默认会生成一个应用配置类。
代码大致如下:
from django.apps import AppConfig
class BlogConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'blog'
8.注册应用
应用创建完成后,需要在settings.py中注册。
打开项目中的settings.py文件,找到INSTALLED_APPS配置。
添加blog应用:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog',
]
也可以写成:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog.apps.BlogConfig',
]
这两种方式都可以,后面我们先使用简单的写法。
9.启动项目测试
注册完成后,可以重新启动项目。
命令:
python manage.py runserver
如果项目可以正常启动,说明应用创建和注册成功。
10.总结
这一篇我们学习了Django中项目和应用的关系,并通过startapp命令创建了blog应用。一个Django项目中可以有多个应用,每个应用负责不同的功能模块。
创建应用后,还需要在settings.py中的INSTALLED_APPS中进行注册。好了这一篇就到这里,下一篇我们继续学习Django项目目录结构,如果对你有帮助,点赞加关注,下篇见。