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学起来2 天前
Django学习教程(二)创建Django项目
python web·django教程·django学习·django基础
JavaWeb学起来3 天前
Django学习教程(一)Django介绍和环境准备
django·python web·web框架·django教程
laufing6 个月前
fastapi 基础介绍
fastapi·高性能·python web
数据知道6 个月前
Django基础项目:从零到一搭建用户管理系统
python·django·python web·python项目
数据知道6 个月前
【Flask】一文掌握 Flask 基础用法
数据库·后端·python·flask·python web
数据知道6 个月前
FastAPI项目:从零到一搭建一个网站导航系统
python·mysql·fastapi·python web·python项目
小白教程1 年前
Python核心技术,Django学习基础入门教程(附环境安装包)
python·学习·django·django教程·django项目·django项目实战·django入门教程
java1234_小锋1 年前
一周学会Flask3 Python Web开发-Debug模式开启
flask·python web·flask3
奈何不吃鱼2 年前
【Flask】四、flask连接并操作数据库
数据库·python·flask·python web