泽恩小站-教程区 Help

创建APP

创建APP

**在Django中的一个app代表一个功能模块。**开发者可以将不同功能的模块放在不同的app中, 方便代码的复用。app就是项目的基石,因此开发博客的第一步就是创建新的app,用来实现跟文章相关的功能模块。

打开命令行,进入项目所在的目录: (注意Django的操作必须在虚拟环境下进行)

E:\>cd django_project E:\django_project>

进入虚拟环境(忘记进入venv方法的看这里: 在Windows中搭建Django的开发环境):

E:\django_project> env\Scripts\activate.bat (env) E:\>

看到盘符前有(env)标识则表示进入虚拟环境成功。

输入python manage.py startapp article指令,创建名为article的app:

(env) E:\django_project\my_blog>python manage.py startapp article

查看一下my_blog文件夹,应该看到这样的结构:

my_blog │ db.sqlite3 │ manage.py │ ├─article │ │ admin.py │ │ apps.py │ │ models.py │ │ tests.py │ │ views.py │ │ __init__.py │ │ │ └─migrations │ └─ __init__.py │ └─my_blog │ settings.py │ urls.py │ wsgi.py └─ __init__.py

项目结构分解如下:

  • 根目录my_blog下有两个文件:db.sqlite3是一个轻量级的数据库文件,用来存储项目产生的数据,比如博客文章;manage.py是项目执行命令的入口,比如runserver。

  • 目录article是刚创建出来的app,用来放置博客文章相关的代码:后台管理文件admin.py ,数据模型文件models.py ,视图文件views.py ,存放数据迁移文件的目录migrations

  • 根目录下还有一个my_blog目录,其中的settings.py包含项目的配置参数,urls.py则是项目的根路由文件。

目前你需要了解的就这么多,后面的章节都会用到。剩下还有一些没讲到的文件可以暂时不管它,碰到时再查资料。

注册APP(settings)

接着我们需要修改项目配置文件,“告诉”Django现在有article这么一个app了。

打开my_blog目录的settings.py ,找到INSTALLED_APPS写入如下代码:

my_blog/settings.py INSTALLED_APPS = [ # 其他代码 ... # 新增'article'代码,激活app 'article', ]

配置访问路径(urls)

然后再给app配置访问路径url。

url可以理解为访问网站时输入的网址链接,配置好url后Django才知道怎样定位app。

打开my_blog目录下的urls.py ,增加以下代码:

my_blog/urls.py from django.contrib import admin # 记得引入include from django.urls import path, include # 存放映射关系的列表 urlpatterns = [ path('admin/', admin.site.urls), # 新增代码,配置app的url path('article/', include('article.urls', namespace='article')), ]

path为Django的路由语法:

  • 参数article/分配了app的访问路径;

  • include将路径分发给下一步处理;

  • namespace可以保证反查到唯一的url,即使不同的app使用了相同的url(后面会用到)。

记得在顶部引入include

还没结束 。现在我们已经通过path将根路径为article的访问都分发给article这个app去处理。但是app通常有多个页面地址,因此还需要app自己也有一个路由分发,也就是article.urls了。

在app生成时并没有这个文件,因此需要自己在article文件夹中创建urls.py ,在里面输入:

article/urls.py # 引入path from django.urls import path # 正在部署的应用的名称 app_name = 'article' urlpatterns = [ # 目前还没有urls ]

urlpatterns中暂时是空的,没写入任何路径的映射,不着急以后会写。

此时我们的app就配置完成了。

总结

本章创建了博客文章功能的app,学习了注册app并配置url。

下一章开始编写模型Model,理解Django的数据库处理。

Last modified: 06 January 2025