如何在Django中创建一个App?
Django 是一个Python web框架。开发者可以使用Django快速开发Web应用程序,Django框架包含多个库和工具,以提高Web开发体验。
Django 项目包含多种功能,例如自动管理界面集成、内置表单处理、URL和用户请求处理等,其中之一就是Django App。
在 Django 项目中,App是一个包含模板、URL、模型、视图等的模块。因此,该App是大型项目中的一个模块,我们可以在其他项目中重复使用。此外,该App使得管理Django的大型项目代码变得容易。
在本教程中,我们将学习在Django项目中创建一个App,并自定义该App的内容。
用户应按照以下步骤开始从Django项目创建到Django App的创作。
- 第1步 − 确保在本地计算机上安装了Python。之后,在计算机上安装Django,请运行以下命令。
pip install Django
- 第2步 − 现在,打开终端并转到项目目录。之后,在终端中输入以下命令以启动一个新项目。在这里,项目名称为“django_demo”。
django-admin startproject djanog_demo
- 第3步 − 接下来,在项目中创建一个App。用户可以使用以下任何命令在项目中创建名为“firstApp”的App。确保在包含manage.py文件的目录中运行以下命令。
django-admin startapp firstApp
或
python manage.py startapp myapp
用户可以在下面的图片中观察App的创建情况,以及项目结构的外观。
- 第4步 − Django项目已包含一些已安装的App。每当我们在该项目中创建一个新App时,我们必须将App名称添加到已安装的App中。
转到settings.py文件,并使用下面的数组替换’INSTALLED_APPS’数组。这里,我们将“firstApp”添加到数组中。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'firstApp',
]
- 第5步 − 接下来,我们需要设置我们的App的URL。开发人员需要进入django_test文件夹中的URLs.py文件,并将文件的当前代码替换为下面的代码。
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
# 这里,firstApp是一个App名称
path('', include("firstApp.urls")),
]
在上述步骤中,我们已指定如果用户对首页发起GET请求,则使用firstApp的URL。因此,我们需要为firstApp创建路由。
- 第6步 − 在firstApp文件夹内创建一个urls.py文件,并添加以下代码。
from django.urls import path
from . import views
urlpatterns=[
path('',views.home)
]
以上代码将在用户访问home路由时调用“home”视图。
- 第7步 − 现在,我们将在views.py文件中添加“home”视图。在此处,用户需要在firstApp->views.py文件中添加下面的代码。
from django.http import HttpResponse
# 创建视图函数
def home(request):
return HttpResponse("<h1>Django开发者,你好!你的应用已经成功运行。 </h1>")
- 步骤8 – 现在是时候运行我们的项目了。在包含manage.py文件的目录中打开终端,运行以下命令。
python manage.py runserver
上述命令将启动服务器,用户可以在 localhost 上访问该应用程序。用户可以在网页上观察到以下输出。
开发者学会了在Django中创建应用程序。开发者还可以在Django项目中创建多个应用程序,但需要为每个应用程序设置正确的URL,并将应用程序添加到“settings.py”文件中的“INSTALLED_APPS”数组中。
当开发者想要为不同的用户提供不同的功能时,可以创建多个应用程序。例如,我们可以开发一个用于管理银行系统的项目。之后,我们可以在其中创建两个应用程序。一个允许用户处理他们的银行账户,而另一个应用程序允许员工处理用户账户。