先决条件——如何在 Django 中使用 MVT 创建基本项目?
Django 以其独特且完全托管的应用程序结构而闻名。对于每个功能,可以像创建一个完全独立的模块一样创建一个应用程序。本文将带您了解如何创建基本应用程序并使用该应用程序添加功能。例如,如果您正在创建博客,则应为评论、帖子、登录/注销等创建单独的模块。在 Django 中,这些模块称为应用程序。每个任务都有一个不同的应用程序。
使用 Django 应用程序的好处——
- Django 应用程序是可重用的,即一个 Django 应用程序可以用于多个项目。
- 我们有松散耦合,即几乎独立的组件
- 多个开发人员可以在不同的组件上工作
- 调试和代码组织很容易。Django 有一个出色的调试器工具。
- 它具有管理页面等内置功能,从而减少了从 stratch 构建相同功能的工作量
预装应用程序 ——Django 为用户提供了一些预装应用程序。要查看预安装的应用程序,请导航至 projectName –> projectName –> settings.py 在您的 settings.py 文件中,您将找到 INSTALLED_APPS。INSTALLED_APPS 中列出的应用程序由 Django 提供,以方便开发人员使用。
在 Django 中创建应用程序:
让我们开始构建一个应用程序。
方法一
- 要在您的 Django 项目中创建一个基本应用程序,您需要转到包含 manage.py 的目录并从那里输入命令:
python manage.py startapp projectApp
方法二
- 要在您的 Django 项目中创建一个基本应用程序,您需要转到包含 manage.py 的目录并从那里输入命令:
django-admin startapp projectApp
现在你可以看到你的目录结构如下:
- 要考虑项目中的应用程序,您需要在 INSTALLED_APPS 列表中指定项目名称,如下所示在 settings.py 中:
# Application definition INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'projectApp' ]
因此,我们最终创建了一个应用程序,但要使用 URL 呈现应用程序,我们需要将应用程序包含在我们的主项目中,以便可以呈现重定向到该应用程序的 URL。让我们探索一下。 移动到 projectName-> projectName -> urls.py 并在标题中添加以下代码
from django.urls import include
- 现在,在 URL 模式列表中,您需要指定应用程序名称以包含您的应用程序 URL。这是它的代码 -
from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), # 以以下语法输入应用程序名称以使其正常工作 path('', include("projectApp.urls")), ]
- 现在您可以使用默认的 MVT 模型在您的应用程序中创建 URL、模型、视图等,它们将自动包含在您的主项目中。
Django Apps的主要特点是独立性,每个应用程序作为一个独立的单元来支持主项目。
现在项目文件中的 urls.py 将不会访问应用程序的 url。
要正确运行您的 Django Web 应用程序,必须执行以下操作:-
1.在apps目录下创建一个名为urls.py的文件
2.包括以下代码:
from django.urls import path #now import the views.py file into this code from . import views urlpatterns=[ path('',views.index)
上述代码将调用或调用views.py 文件中定义的函数,以便在Web 浏览器中正确查看。这里假设views.py包含以下代码:
from django.http import HttpResponse def index(request): return HttpResponse("Hello Geeks")
添加上述代码后,进入项目目录下的 settings.py 文件,将 ROOT_URLCONF 的值从 'project.urls' 更改为 'app.urls'
由此:-
对此:
3.然后你可以运行服务器(127.0.0.1:8000),你会得到想要的输出