在 Django 中,一个项目包含多个 app,每个 app 的功能独立,如果功能比较复杂,可以分拆成多个 app,不同的 app 之间可以共用 models.py 等文件,从而提高代码的可维护性。本文将介绍如何在 Django 项目中创建多个 app 并设置 urls 方法。
首先,我们需要创建一个 Django 项目,这里以 my_project
为例,打开终端,输入以下命令:
django-admin startproject my_project
这个命令将创建一个名为 my_project
的 Django 项目。
我们可以通过以下命令在 Django 项目中创建多个 app:
python manage.py startapp app1
python manage.py startapp app2
这个命令会在当前项目中创建 app1
和 app2
两个 app,其中每个 app 都有一个默认的目录结构,通常包含以下文件:
app_name/
__init__.py
admin.py
apps.py
models.py
tests.py
views.py
migrations/
__init__.py
这些文件的作用如下:
__init__.py
:标记当前目录为 Python 包admin.py
:定义 app 在 Django admin 界面的显示形式apps.py
:定义 app 的信息,例如图标、名称等models.py
:定义数据库模型tests.py
:定义测试用例views.py
:定义视图函数和类migrations/
:存储数据库迁移文件完成 app 的创建后,需要在 urls.py
文件中配置 app 的路由,以便在访问相应的 url 时能够调用到 app 的视图函数。下面是一个示例:
假设我们要创建一个名为 blog
的 app,其 views.py 文件如下:
from django.http import HttpResponse
def index(request):
return HttpResponse('Hello, world!')
要访问 /blog/
url 时,需要在 urls.py
文件中添加如下代码:
from django.urls import path
from blog.views import index
urlpatterns = [
path('', index, name='index'),
]
这个代码片段将 views.py
中的 index
函数和 url /blog/
关联起来,当访问 /blog/
时,Django 就会调用 index
函数并返回其返回值。
如果要访问 /blog/post/
url,可以在 blog
app 的 urls.py
文件中添加如下代码:
from django.urls import path
from blog.views import post
urlpatterns = [
path('post/', post, name='post'),
]
这个代码片段将 views.py
中的 post
函数和 url /blog/post/
关联起来,当访问 /blog/post/
时,Django 就会调用 post
函数并返回其返回值。
通过以上步骤,我们可以在 Django 项目中创建多个 app 并配置其路由,从而实现更好的代码管理和维护。
本文链接:http://task.lmcjl.com/news/14265.html