Django开发入门 – 4.创建Django app

embedded/2025/2/14 0:32:42/

Django开发入门 – 4.创建Django app

Create A Django App Under An Existing Project

By Jackson@ML

1. 什么是Django app?

Django项目面向Web应用程序,它会由一个或多个子模块组成,这些子模块称为apps。

Django apps负责执行完整Web应用程序中涉及到的众多任务中的单个任务。一个Django项目有许多独立的app组成,它们之间根据项目需要,可能会相互通信。

开发Django app是为了实现特定的功能,也是为了在编程中可以重复使用。

本文简要介绍如何基于Python 3.13.x,创建一个Django App以及完成项目配置,以包含该App。

2. 创建Django项目

开发之前,需要考虑如何构建项目文件树形结构。给Django规划固定的文件夹和子文件夹,运用独立虚拟环境,将有助于快速完成开发Web应用程序。

1) 创建新Terminal

打开Visual Studio Code,点击Terminal菜单 > New Terminal以打开新的终端命令行。

2) 创建项目文件夹
a) 在终端中,执行以下命令,创建新的项目文件夹(所有项目都将存放于此):
$ mkdir project
b) 切换到该项目文件夹:
$ cd project
c) 创建属于Django的虚拟环境dvenv:
$ python3 -m venv dvenv
3) 激活虚拟环境

执行以下命令,以便激活刚创建的虚拟环境dvenv:

$ source dvenv/bin/activate

在这里插入图片描述

4) 安装Django

在终端下执行命令,用pip3安装Django:

$ pip3 install django

在这里插入图片描述

安装完毕,看到提示:pip需要升级到最新版,于是执行命令:

$ pip install --upgrade pip

在这里插入图片描述
pip工具升级完毕,由piop 24.3.1升级到pip-25.0.1版本。

5) 创建一个新的Django项目

使用django-admin命令创建新的django项目,姑且命名为:myproject。

$ django-admin startproject myproject

创建成功!在Visual Studio Code资源管理器(EXPLORER)可以清晰看到,目前的文件结构如下:

在这里插入图片描述
使用ls命令查看当前文件夹内容,发现myproject位于当前文件夹;如果需要创建新的app, 则必须在myproject文件夹中完成。

因此,切换到myproject文件夹:

$ cd myproject
6) 在项目下创建一个新的app

创建app,并赋予单独文件夹:

$ python3 -m startapp myapp
7) 运行开发服务器:
$ python3 manage.py runserver

django开发服务器运行,如下图所示:
在这里插入图片描述

8) 访问Django页面

按照本地主机默认配置,主机地址为:127.0.0.1, 默认端口号8000。
打开Chrome浏览器并且输入本地主机地址和端口号,可以访问主页了。

看看在浏览器中预览效果怎么样?
在这里插入图片描述

可以看到,未曾修改views.py, urls.py的新的应用app, 在本地主机显示Django默认的Web页面。

至此,说明搭建Django虚拟环境和创建项目和app成功完成!

3. Django app的文件架构

myapp创建后,在项目文件夹下出现一个子文件夹,名为myapp, 它的文件结构也为树形,包含几个重要文件。

在这里插入图片描述

1) Views.py

该文件用来定义视图。

Django中视图是用户自定义的函数,当Django的URL调度器识别客户端的请求URL,并将其与urls.py文件中定义的URL模式匹配时,将调用该函数。

自动创建的views.py一开始为空。通过保存以下代码段,并在其中添加一个index()函数,它是 视图函数。

*注:编写函数前,需要倒入django.http库中的HttpResponse模块,并建立函数返回该结果。

默认情况下,views.py示例代码如下:

python">from django.shortcuts import render# Create your views here.

在# 注释符下,可根据需要添加代码,创建一个或多个函数。

2) Urls.py

该文件用于定义项目的URL模式。Urls.py文件可以在project和app级别进行配置。以下有示例,表明在project和app级别配置的情况。

App文件夹创建时没有该文件,需要创建一个,并且另存到django-app文件夹中的urls.py。

以下是该项目文件夹中的urls.py默认示例:

python">from django.contrib import admin
from django.urls import pathurlpatterns = [path('admin/', admin.site.urls),
]

*注:以上代码表示,在本地主机的/admin路径,可以显示默认Django administration页面。

如下图所示:

在这里插入图片描述

3) Models.py

该文件用于创建处理app中所需数据模型。默认情况下它是个空文件。
数据模型是基于django.db.modelsclass的Python类。这里存在的所有模型都将迁移到数据库表中。暂时保持它的文件不变。

4) Tests.py

顾名思义,这个文件用来编写在app上运行必要的测试代码。暂时保持它不变,必要时对其修改。

5) 更新settings.py

该文件包含项目设置,需要根据情况更新它;它已经包含一些预安装的apps。

实际上,就是更新INSTALLED_APPS列表;settings.py代码段包含的默认列表内容,如下所示:

python">INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth',  'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 
]

开发技术好文陆续推出,敬请关注和点赞。

您的认可,我的动力!😃

相关阅读:

  1. Django开发入门 - 0. Django基本介绍
  2. Django开发入门 - 1. 搭建基于Python Web框架 Django的IDE开发环境
  3. Django开发入门 - 2. Django的Web应用项目架构
  4. Django开发入门 - 3. 用Django创建一个Web项目
  5. Django开发入门 - 5. Web框架与MVT架构
  6. 2025最新版Python 3.13.2安装使用指南
  7. 2025最新版Anaconda Navigator安装使用指南
  8. 2025最新版PyCharm安装使用指南
  9. 2025最新版Visual Studio Code安装使用指南

http://www.ppmy.cn/embedded/162000.html

相关文章

CEF132编译指南 MacOS 篇 - 构建 CEF (六)

1. 引言 经过前面一系列的精心准备,我们已经完成了所有必要的环境配置和源码获取工作。本篇作为 CEF132 编译指南系列的第六篇,将详细介绍如何在 macOS 系统上构建 CEF132。通过配置正确的编译命令和参数,我们将完成 CEF 的构建工作&#xf…

【DeepSeek】DeepSeek小模型蒸馏与本地部署深度解析DeepSeek小模型蒸馏与本地部署深度解析

一、引言与背景 在人工智能领域,大型语言模型(LLM)如DeepSeek以其卓越的自然语言理解和生成能力,推动了众多应用场景的发展。然而,大型模型的高昂计算和存储成本,以及潜在的数据隐私风险,限制了…

关于 IoT DC3 中设备(Device)的理解

在物联网系统中,设备(Device)是一个非常宽泛的概念,它可以指代任何能够接入系统并进行数据交互的实体。包括但不限于手机、电脑、服务器、网关、硬件设备甚至是某些软件程序等所有能接入到该平台的媒介。 内容 定义 目的 示例 …

Rocketmq 和 Rabbitmq ,在多消费者的情况下,可以实现顺序消费吗

在多消费者的情况下,RocketMQ 和 RabbitMQ 都可以实现顺序消费,但它们的实现机制和适用场景有所不同。以下是对两者的详细分析和对比: 1. RocketMQ 的顺序消费 1.1 实现机制 顺序消息:RocketMQ 支持顺序消息(Orderly …

设计模式(一):设计原则、常用设计模式

1. 设计原则 SOLID原则-SRP单一职责原则:一个类或者模块只负责完成一个职责(或者功能)。 SOLID原则-OCP开闭原则:如果要添加一个新的功能,能够在已有代码基础上直接扩展代码,而不用修改已有代码就能实现,那么就符合“扩展开放、对修改关闭”原则。 SOLID原则-LSP里式…

非华为电脑制作一碰传NFC贴纸

前提: 在笔记本上安装好华为电脑管家,可以在 github 上下载,并测试可以正常和手机或平板连接步骤: 1、打开电脑华为电脑管家,点【快捷服务】,记录下序列号,一般安装后会生成16位的序列号 2、…

Zabbix7.0服务器在告警发生时自动调用客户机脚本

一、问题的产生 部署的应用服务器偶尔会因为各种原因停止服务,以往都是用户反馈后进行排查处理,90%以上的处理措施是重启服务。 在zabbix服务器部署完成后添加了触发器监控相应端口,故障发生后会给运维人员发送通知邮件,处理的时…

两个同一对象targetList和 sourceList 去重

我现在需要解决的问题是从一个Java的源列表`sourceList`中移除所有在目标列表`targetList`中存在的数据,并且还要去除`targetList`中的重复数据。让我先理清楚这两个问题的思路。 首先,如何快速从`sourceList`中移除含有`targetList`的数据。这里的“含有”应该是指两个列表中…