当前位置: 首页 > news >正文

创建Django项目及应用

1 创建Project

1个Project可以对应多个app


django-admin startproject myproject

2 创建App

python manage.py startapp app01
INSTALLED_APPS = [# ...'app01','app02',# ...
]

 如果要让这个应用在项目中起作用,需要在项目的 settings.py 文件的 INSTALLED_APPS 配置中添加应用的名称。

3 启动项目

启动对象是一个项目,包含已经陪知道settings.py中的app

3.1 先初始化数据库

python manage.py makemigrations
python manage.py migrate

3.2 启动服务 

python manage.py runserver 127.0.0.1:8000

4 自定义Django命令

4.1 自定义

需要在app的目录下建立management目录,command目录下文件名对应调用comman

    app01/__init__.pymodels.pyviews.pymanagementcommandsmy_command.pytests.pyadmin.py

4.2 命令接受参数

from django.core.management.base import BaseCommand
from django.core.mail import send_mailclass Command(BaseCommand):help = 'Sends an email to the specified recipient'def add_arguments(self, parser):parser.add_argument('action', type=str, help='Action for Job')parser.add_argument('id', type=int, help='Job ID')def handle(self, *args, **kwargs):action = kwargs['action']message = kwargs['message']id = kwargs['id']if action =='start':start_job(id)self.stdout.write(self.style.SUCCESS('Job star successfully'))

4.3 使用命令带参数

python manage.py my_command --action='start --id=1

5 Django完整项目目录

project_demo/project_demo/__init__.pysettings.pyurls.pyasgi.pywsgi.pymanage.pyapp01/__init__.pymodels.pyviews.pymanagementcommandsmy_command.pytests.pyadmin.pyapp02/__init__.pymodels.pyviews.pytests.pyadmin.pystatic/templates/media/

project_demo/: 顶层目录,与项目同名。

project_demo/__init__.py: 一个空文件,告诉Python该目录应该被视为一个Python包。

project_demo/settings.py: 包含项目的所有配置设置。

project_demo/urls.py: 存储项目的URL路由配置。

project_demo/asgi.py: 用于部署项目的ASGI兼容服务器入口点。

project_demo/wsgi.py: 用于部署项目的WSGI兼容服务器入口点。

manage.py: 一个命令行工具,让你通过各种方式管理Django项目。

app01/: Django应用目录,应用的名称可以自定义。

app01/__init__.py: 一个空文件,告诉Python该目录应该被视为一个Python包。

app01/models.py: 定义应用的数据库模型。

app01/views.py: 包含处理网页请求和响应的逻辑。

app01/tests.py: 包含应用的测试代码。

app01/admin.py: 定义了Django admin界面的模型配置。

static/: 存储应用的静态文件(如CSS、JavaScript、图片等)。

templates/: 存储应用的模板文件(Django HTML文件)。

media/: 存储应用上传的媒体文件(如用户上传的图片和视频)。

这只是一个基本的项目结构,根据项目的复杂性和需求,可能还需要添加其他目录和文件。

相关文章:

创建Django项目及应用

1 创建Project 1个Project可以对应多个app django-admin startproject myproject 2 创建App python manage.py startapp app01 INSTALLED_APPS [# ...app01,app02,# ... ] 如果要让这个应用在项目中起作用,需要在项目的 settings.py 文件的 INSTALLED_APPS 配置…...

Flutter课程分享 -(系统课程 基础 -> 进阶 -> 实战 仿京东商城)

前言 在移动应用开发的世界中,Flutter 作为一款由 Google 推出的开源 UI 软件开发工具包,正迅速赢得开发者们的青睐。其跨平台、高性能、丰富的组件库以及易于学习的特性,使得 Flutter 成为许多开发者的不二选择。然而,对于初学者…...

IDEA 中导入脚手架后该如何处理?

MySQL数据库创建啥的,没啥要说的!自行配置即可! 1.pom.xml文件,右键,add Maven Project …………(将其添加为Maven)【下述截图没有add Maven Project 是因为目前已经是Maven了!&…...

thinkphp6 queue队列的maxTries自定义

前景需求:在我们用队列的时候发现maxtries的个数时255次,这个太影响其他队列任务 我目前使用的thinkphp版本是6.1 第一部定义一个新的类 CustomDataBase(我用的mysql数据库存放的队列) 重写__make 和createPlainPayload方法 …...

【PHP项目实战训练】——laravel框架的实战项目中可以做模板的增删查改功能(2)

👨‍💻个人主页:开发者-曼亿点 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 曼亿点 原创 👨‍💻 收录于专栏&#xff1a…...

Kotlin 对象

文章目录 对象表达式(匿名对象)对象的声明 对象表达式(匿名对象) 在 Kotlin 中可以使用object {}声明一个匿名的对象,我们无需声明这个对象的类: fun main() {val any object {fun greet() print("…...

力扣 142题 环形链表Ⅱ 记录

题目描述 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内…...

乐观锁 or 悲观锁 你怎么选?

你有没有听过这样一句话:悲观者正确,乐观者成功​。那么今天我来分享下什么是乐观锁​和悲观锁。 乐观锁和悲观锁有什么区别,它们什么场景会用 乐观锁 乐观锁基于这样的假设:多个事务在同一时间对同一数据对象进行操作的可能性很…...

《庆余年算法番外篇》:范闲通过最短路径算法在阻止黑骑截杀林相

剧情背景 在《庆余年 2》22集中,林相跟大宝交代完为人处世的人生哲理之后,就要跟大宝告别了 在《庆余年 2》23集中,林相在告老还乡的路上与婉儿和大宝告别后 范闲也在与婉儿的对话中知道黑骑调动是绝密,并把最近一次告老还乡梅…...

大一C语言课设 服装销售系统 代码实现与项目总结

问题分析 服装信息管理及销售管理系统。方便对库存服装的信息管理和添加新服装数据,同时兼具库存数量管理功能。 功能实现 1、建立服装信息库,包括:服装代码、型号、规格、面料、颜色、单价、数量; 2、建立销售信息库&#xff…...

从新手到专家:深入探索JVM垃圾回收--开端篇

引言: 在Java的世界里,垃圾回收(Garbage Collection, GC)机制扮演着至关重要的角色,它决定了Java应用的性能、稳定性和扩展性。本系列文章旨在深入探讨JVM中的垃圾回收技术,从基础的概念讲起,直…...

R可视化:另类的柱状图

介绍 方格状态的柱状图 加载R包 knitr::opts_chunk$set(echo TRUE, message FALSE, warning FALSE) library(patternplot) library(png) library(ggplot2) library(gridExtra)rm(list ls()) options(stringsAsFactors F)导入数据 data <- read.csv(system.file(&qu…...

Docker的数据管理(数据卷+数据卷容器)

文章目录 一、Docker的数据管理1、概述2、主要的技术&#xff08;三种数据挂载方式&#xff09;2.1、数据卷&#xff08;Volumes&#xff09;2.2、绑定挂载&#xff08;Bind mounts&#xff09;2.3、tmpfs挂载&#xff08;Tmpfs mounts&#xff09;2.4、之间的关系&#xff08;…...

字符串-至多包含K种字符的子串中最长子串(mid)

一、题目描述 二、解题思路 借鉴以下题目思想&#xff0c;使用双指针&#xff0c;外层循环右侧指针移动&#xff0c;内存循环左侧指针移动 字符串-最长不含重复字符的子字符串(mid)-CSDN博客文章浏览阅读622次&#xff0c;点赞17次&#xff0c;收藏4次。java刷题&#xff1a;…...

Docker从安装开始精通

从虚拟机到容器 1.环境配置的难题 软件开发最大的麻烦事之一&#xff0c;就是环境配置。用户计算机的环境都不相同&#xff0c;你怎么知道自家的软件&#xff0c;能在那些机器跑起来&#xff1f; 用户必须保证两件事&#xff1a;操作系统的设置&#xff0c;各种库和组件的安装…...

MFC:初步理解序列化与反序列化(含代码实现)

序列化与反序列化是MFC将对象数据以二进制数据流的形式进行存储和读取的机制&#xff0c;读、写的效率很高。通过序列化与反序列化&#xff0c;可以将程序中对象在内存中数据保存到文件 (磁盘) 或者从文件 (磁盘) 中读取到内存以恢复对象数据&#xff0c;从而实现程序对数据的持…...

python程序控制结构

文章目录 一、python程序控制结构介绍二、顺序结构2.1、print()函数2.2、end参数2.3、input()函数 三、选择结构3.1选择结构的用途 四、循环结构4.1循环结构的构造4.1.1、循环结构的三个要素4.1.2、循环结构的一个要求4.1.3、循环结构的一个关系 4.2、循环语句4.2.1、while语句…...

【GD32】04 - Timer定时器

GD32中的定时器 GD32E230中有七个定时器&#xff0c;六种类型&#xff0c;其中通用的L4版本有两个&#xff0c;其他类型的各一个。 那我们就以通用L4这个类型来敲代码&#xff0c;其他流程是通用的。 通用L4 虽然每种类型的定时器都有自己的结构框图&#xff0c;但是其实大差…...

Golang | Leetcode Golang题解之第123题买卖股票的最佳时机III

题目&#xff1a; 题解&#xff1a; func maxProfit(prices []int) int {buy1, sell1 : -prices[0], 0buy2, sell2 : -prices[0], 0for i : 1; i < len(prices); i {buy1 max(buy1, -prices[i])sell1 max(sell1, buy1prices[i])buy2 max(buy2, sell1-prices[i])sell2 m…...

Leetcode2028. 找出缺失的观测数据

Every day a Leetcode 题目来源&#xff1a;2028. 找出缺失的观测数据 解法1&#xff1a;模拟 统计当前 m 个元素的总和 curSum sum(rolls)&#xff0c;总共 mn 个元素和为 total (m n) * mean。 排除 2 种情况&#xff1a; total - curSum > 6 * n&#xff1a;n 个…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架&#xff0c;专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用&#xff0c;其中包含三个使用通用基本模板的页面。在此…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学&#xff08;Elliptic Curve Cryptography&#xff09;是基于椭圆曲线数学理论的公钥密码系统&#xff0c;由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA&#xff0c;ECC在相同安全强度下密钥更短&#xff08;256位ECC ≈ 3072位RSA…...

【Java学习笔记】Arrays类

Arrays 类 1. 导入包&#xff1a;import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序&#xff08;自然排序和定制排序&#xff09;Arrays.binarySearch()通过二分搜索法进行查找&#xff08;前提&#xff1a;数组是…...

基于服务器使用 apt 安装、配置 Nginx

&#x1f9fe; 一、查看可安装的 Nginx 版本 首先&#xff0c;你可以运行以下命令查看可用版本&#xff1a; apt-cache madison nginx-core输出示例&#xff1a; nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代&#xff0c;情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现&#xff0c;消费者对内容的“有感”程度&#xff0c;正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题&#xff0c;前来答题。 每个人对刷题理解是不同&#xff0c;有的人是看了writeup就等于刷了&#xff0c;有的人是收藏了writeup就等于刷了&#xff0c;有的人是跟着writeup做了一遍就等于刷了&#xff0c;还有的人是独立思考做了一遍就等于刷了。…...