📅  最后修改于: 2023-12-03 15:00:26.804000             🧑  作者: Mango
在 Django 中,应用程序是指用于执行特定功能的模块。Django 应用程序通常由一个模型(模型定义保存在应用程序的 models.py 文件中)、一些视图(这些视图可以访问模型数据并将其呈现为响应)、一个 URLconf(用于将请求路由到不同的视图),以及可选的模板、表单和静态资源组成。
在本教程中,我们将介绍如何创建一个简单的 Django 应用程序,并将其添加到现有的 Django 项目中。
在继续之前,确保你已经安装并配置好了 Django。如果你还没有安装它,请查看 Django 安装指南。
要创建一个新的 Django 应用程序,请使用 python manage.py startapp
命令,后面跟着你想为应用程序所选的名称。
$ python manage.py startapp myapp
此命令将在你的 Django 项目中创建一个名为 myapp 的新目录,其中包含一些默认的 Python 文件。在这个目录中,你将会找到以下文件:
__init__.py
:一个空文件,表明该目录是一个 Python 包。admin.py
:用于定义应用程序特有的 Django 管理页面。apps.py
:用于定义应用程序的配置。models.py
:用于定义应用程序的模型。tests.py
:用于编写应用程序的测试。views.py
:包含应用程序的视图。在 myapp/apps.py
文件中,Django 提供了一个 AppConfig
类,用于配置应用程序的名称、版本、模块等信息。默认情况下,应用程序的名称为该应用程序的目录名称,这里我们不做改变。
# myapp/apps.py
from django.apps import AppConfig
class MyappConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'myapp'
你需要在你的项目中告诉 Django 你已经创建了这个应用程序。为此,请打开 项目设置(settings.py
),并在 INSTALLED_APPS
列表中添加你的应用程序:
# myproject/settings.py
INSTALLED_APPS = [
# ...
'myapp',
]
现在,你的应用程序已经被注册到了 Django 项目中。
在 myapp/views.py
文件中定义视图。视图是 Django 应用程序中最重要的部分之一,用于呈现 HTML 页面、JSON 数据、PDF 文件等等。
在这里,我们定义一个简单的视图,让它返回一个包含应用程序名称和当前时间的 HTML 页面。
# myapp/views.py
from django.shortcuts import render
from datetime import datetime
def home(request):
now = datetime.now()
context = {'app_name': 'My App', 'current_time': now}
return render(request, 'myapp/home.html', context)
在 myapp/urls.py
文件中定义 URLconf,以将请求路由到不同的视图。Django 的 URLconf 机制使我们能够将 URL 映射到视图函数或类中。
例如,以下内容将把根 URL 映射到 home
视图:
# myapp/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
]
在 myapp/templates/myapp/home.html
文件中,我们可以创建 HTML 模板。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>{{ app_name }}</title>
</head>
<body>
<h1>Welcome to {{ app_name }}!</h1>
<p>The current time is {{ current_time }}.</p>
</body>
</html>
现在,我们已经完成了我们的 Django 应用程序,可以进行测试了。请使用以下命令启动 Django 开发服务器:
$ python manage.py runserver
然后,在浏览器中访问 http://localhost:8000/
,你应该能够看到应用程序的主页了。
在本教程中,我们介绍了如何创建一个简单的 Django 应用程序,并将其添加到现有的 Django 项目中。我们学习了如何定义模型、视图和 URLconf,并创建了一个简单的 HTML 模板。