Django开发入门 – 4.创建Django app
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示例代码如下:
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默认示例:
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代码段包含的默认列表内容,如下所示:
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles',
]
开发技术好文陆续推出,敬请关注和点赞。
您的认可,我的动力!😃
相关阅读:
- Django开发入门 - 0. Django基本介绍
- Django开发入门 - 1. 搭建基于Python Web框架 Django的IDE开发环境
- Django开发入门 - 2. Django的Web应用项目架构
- Django开发入门 - 3. 用Django创建一个Web项目
- Django开发入门 - 5. Web框架与MVT架构
- 2025最新版Python 3.13.2安装使用指南
- 2025最新版Anaconda Navigator安装使用指南
- 2025最新版PyCharm安装使用指南
- 2025最新版Visual Studio Code安装使用指南
相关文章:

Django开发入门 – 4.创建Django app
Django开发入门 – 4.创建Django app Create A Django App Under An Existing Project By JacksonML 1. 什么是Django app? Django项目面向Web应用程序,它会由一个或多个子模块组成,这些子模块称为apps。 Django apps负责执行完整Web应用程序中涉及…...

安装WPS后,导致python调用Excel.Application异常,解决办法
在使用xlwings编辑excel文件时,默认调用的是“Excel.Application”,如果安装过wps,会导致该注册表为WPS,会导致xlwings执行异常 因为安装过WPS,导致与Excel不兼容的问题,想必大家都听说过。有些问题及时删…...

语言大模型基础概念 一(先了解听说过的名词都是什么)
SFT(监督微调)和RLHF(基于人类反馈的强化学习)的区别 STF(Supervised Fine-Tuning)和RLHF(Reinforcement Learning from Human Feedback)是两种不同的模型训练方法,分别…...
理解 WebGPU 的入口: navigator.gpu
在现代 Web 开发中,WebGPU 已经成为实现高性能图形渲染和计算的强大工具。作为 WebGPU API 的入口点, navigator.gpu 是开发者与 GPU 交互的起点。本文将详细介绍 navigator.gpu 的属性和方法,以及如何通过它初始化 WebGPU 环境。 什…...
Django 创建第一个项目
Django 创建第一个项目 引言 Django 是一个高级的 Python Web 框架,它鼓励快速开发和干净、实用的设计。本指南将带您从头开始创建一个简单的 Django 项目,以便您能够熟悉 Django 的基本结构和概念。 准备工作 在开始之前,请确保您已经安装了 Python 和 Django。以下是安…...
ChatGPT vs DeepSeek详细对比
💡 AI模型发展背景 OpenAI的GPT系列需要数据参数算力,这些要素共同推动了模型的成长。但是,到了GPT-5时代,人类现有的知识精华几乎被学习殆尽,模型的提升空间变得有限。于是OpenAI团队另辟蹊径,尝试模拟人…...
日语学习-日语知识点小记-构建基础-JLPT-N4N5阶段(6):動詞ない形について句型
日语学习-日语知识点小记-构建基础-JLPT-N4&N5阶段(6):動詞ない形について句型 1、前言(1)情况说明(2)工程师的信仰2、知识点(1)~動詞な形 +なければなりません(2)~動詞な形 + なくてもいいです(3)に まで までに :区別3、单词(1)日语单词…...
我的docker随笔46:在x86平台构建龙芯镜像
本文介绍在x86服务器上构建龙芯平台的docker镜像。 前言 去年11月,在龙芯机器上安装了docker工具,并开始尝试研究如何构建龙芯的文件系统。断断续续搞了2个月后,有点结果出来了。前面有文章介绍了如何用debootstrap构建龙芯编译运行环境&…...

移动端测试的挑战与解决方案:兼容性、网络问题及实战策略
引言 移动应用已成为用户触达服务的核心入口,但移动端测试面临设备多样性、网络波动、用户场景复杂等多重挑战。据Statista统计,2023年全球活跃移动设备超180亿台,操作系统(Android/iOS)版本碎片化率超30%,这对测试工程师提出了极高要求。本文深度解析移动端测试的核心痛…...

STM32 I2C通信协议说明
目录 背景 I2C协议 数据的有效性 I2C通信开始和停止条件 I2C数据传输 发送 响应 正常情况: 异常情况: 主机结束接收 写寄存器的标准流程 读寄存器的标准流程 仲裁机制 时钟同步 SDA线的仲裁 程序 背景 对单片机的三大通信中的I2C通信进…...

DeepSeek v3 技术报告阅读笔记
注 本文参考 DeepSeek-v3 / v2 / v1 Technical Report 及相关参考模型论文本文不包括基础的知识点讲解,为笔记/大纲性质而非教程,建议阅读技术报告原文交流可发送至邮箱 henryhua0721foxmail.com 架构核心 核心: MLA 高效推理DeepSeekMOE 更…...
HCIA项目实践(网络)---NAT地址转化技术
十三 NAT网络地址转换技术 13.1 什么是NAT NAT(Network Address Translation)地址转换技术,是一种将内部网络的私有 IP 地址转换为外部网络的公有 IP 地址的技术。其主要作用是实现多个内部网络设备通过一个公有 IP 地址访问外部网络&#x…...

VS studio报错cmake version 3.29.5-msvc4,但是没有其他信息问题解决
背景: windows电脑用VS studio 2022打开一个cmake项目,编译cmake通过,但是没有产生exe文件,IDE也没有打印其他错误信息提示,只有下图: cmake version 3.29.5-msvc4 一开始以为是编译器等问题,…...

免费deepseek的API获取教程及将API接入word或WPS中
免费deepseek的API获取教程: 1 https://cloud.siliconflow.cn/中注册时填写邀请码:GAejkK6X即可获取2000 万 Tokens; 2 按照图中步骤进行操作 将API接入word或WPS中 1 打开一个word,文件-选项-自定义功能区-勾选开发工具-左侧的信任中心-信任中心设置…...
langchain学习笔记之小样本提示词Few-shot Prompt Template
langchain学习笔记之小样本提示词 引言 Few-shot Prompt Templates \text{Few-shot Prompt Templates} Few-shot Prompt Templates简单介绍示例集创建创建 ExamplePrompt \text{ExamplePrompt} ExamplePrompt与 ExampleSelector \text{ExampleSelector} ExampleSelector创建 Fe…...
【CS.SE】优化 Redis 商户号池分配设计:高并发与内存管理
优化 Redis 商户号池分配设计:高并发与内存管理 背景 在分布式交易系统中,商户号池管理是核心模块之一。传统的商户号生成方式,依赖数据库预分配号段,导致大量号段浪费,并且在高并发请求下,性能难以满足需…...
5、《Spring Boot自动配置黑魔法:原理深度剖析》
Spring Boot自动配置黑魔法:原理深度剖析 一、引言:为什么Spring Boot能“开箱即用”? Spring Boot的核心理念是**“约定优于配置”,开发者只需引入一个spring-boot-starter-web依赖,就能直接编写RESTful API…...

稀土抑烟剂——为纺织品安全加持,保护您的每一寸触感
一、稀土抑烟剂的基本概念 稀土抑烟剂是基于稀土元素(如稀土氧化物和稀土金属化合物)研发的一类新型阻燃材料。它能够有效提高纺织品的阻燃性,抑制火灾发生时产生的烟雾和有害气体,减少火灾对人体的危害。稀土抑烟剂具有更强的稳…...
如何使用CSS画一个三角形,原理是什么?
如何用 CSS 画一个三角形?原理和实战指南 一、核心原理 CSS 画三角形的本质是利用边框(border)的叠加特性。当一个元素的宽高为 0 时,其边框会以对角线形式相交,形成四个独立的三角形区域。通过控制某一边的边框颜色为…...

Docker拉不下来镜像问题解决法案
打开docker的设置界面 配置如下: vi /etc/docker/daemon.json {"builder": {"gc": {"defaultKeepStorage": "20GB","enabled": true}},"experimental": false,"registry-mirrors": ["…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...

家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...

3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...

力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...
站群服务器的应用场景都有哪些?
站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...
Git常用命令完全指南:从入门到精通
Git常用命令完全指南:从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...