Django学习教程(三)创建Django应用

Django学习教程(三)创建Django应用

前言

  上一篇我们学习了怎样创建Django项目,并且成功启动了项目。这一篇我们继续学习怎样创建Django应用。

  在Django中,一个项目下面可以有多个应用。比如我们开发一个博客项目,可以创建文章应用、用户应用、评论应用等。这样项目结构会更加清晰。

1.项目和应用的关系

在Django中,项目和应用是两个概念。

项目可以理解为整个Web工程,应用可以理解为工程中的一个功能模块。

比如一个博客系统中,可以有:

  1. 文章模块
  2. 用户模块
  3. 评论模块
  4. 分类模块

这些模块都可以作为一个个Django应用存在。

2.创建应用

创建应用需要在manage.py所在目录下执行命令。

语法:

python manage.py startapp 应用名

这里我们创建一个名为blog的应用。

命令:

python manage.py startapp blog

执行完成后,会生成一个blog目录。

3.应用目录结构

blog应用的目录结构大致如下:

blog

admin.py

apps.py

models.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项目目录结构,如果对你有帮助,点赞加关注,下篇见。

相关推荐
JavaWeb学起来3 天前
Django学习教程(十四)使用模板系统渲染博客页面
python web·django教程·django学习·django基础
JavaWeb学起来4 天前
Django学习教程(十三)Django模板系统基本使用
python web·django教程·django学习·django基础
JavaWeb学起来7 天前
Django学习教程(十二)使用Bootstrap搭建静态博客页面
python web·django教程·django学习·django基础
JavaWeb学起来9 天前
Django学习教程(十一)实现博客数据返回页面
python web·django教程·django学习·django基础
JavaWeb学起来10 天前
Django学习教程(十)Django Admin后台管理模块
python web·django教程·django学习·django基础
JavaWeb学起来10 天前
Django学习教程(九)Django Shell基本使用
python web·django教程·django学习·django基础
JavaWeb学起来13 天前
Django学习教程(八)Django数据迁移migrations
python web·django教程·django学习·django基础
JavaWeb学起来15 天前
Django学习教程(七)创建博客文章模型
python web·django教程·django学习·django基础
JavaWeb学起来16 天前
Django学习教程(六)模型层Model基本介绍
python web·django教程·django学习·django基础
JavaWeb学起来17 天前
Django学习教程(五)Django HelloWorld入门案例
python web·django教程·django学习·django基础