创建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/: 存储应用上传的媒体文件(如用户上传的图片和视频)。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/19944.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java中成员内部类、局部内部类、匿名内部类各自的特点

成员内部类:定义在类的内部,方法的外部,成员内部类作为外部类的成员,可以直接访问外部类的私有属性。 局部内部类:定义在方法的内部,对于局部内部类我们常常使用一个方法,得到一个接口实现类的…

臭氧浓度传感器在食品厂与制药厂中的应用

在食品厂和制药厂的生产过程中,消毒是一个至关重要的环节。有效的消毒可以确保产品免受微生物污染,从而保障消费者的健康。近年来,臭氧作为一种广谱杀菌剂,因其强效的消毒能力和低污染性,在食品厂和制药厂的消毒过程中…

SpringMVC:创建一个简单的SpringMVC框架

目录 一、框架介绍 两个重要的xml文件 SpringMVC执行流程 二、Vscode搭建SpringMVC框架 1、maven创建webapp原型项目 2、pom.xml下添加springmvc的相关依赖 3、在web.xml配置 4、springmvc.xml的配置 5、编写Controller控制器类 6、 编写JSP界面 7、项目结构图 一…

VS2017中使用qt翻译家,除ui界面外其他用tr包裹的字符串在翻译家中显示为乱码

1、ui界面中的中文,可以正常显示 2、其他用tr包裹的字符串,显示为乱码 3、解决 改为utf8保存。 然后更新翻译文件,重新打开发现已经ok了。 参考博客: https://blog.csdn.net/zhou714534957/article/details/124948822 https://blog.csdn.net/weixin_52689816/article/d…

【Linux】期末复习

《Linux程序设计》各章知识点梳理 第1章 软件包的管理方式方面,Ubuntu、CentOS的差异 Ubantu使用APT,CentOS使用YUM 如何添加一个新用户? Useradd new_user_name 什么是Shell? Shell 是一个用 C 语言编写的程序,这个…

Milvus向量数据库:高效处理海量非结构化数据的利器

一、引言 随着数据量的爆炸式增长,如何高效地存储、管理和查询海量非结构化数据成为数据科学和人工智能领域的一个重大挑战。传统的关系型数据库在处理这种类型的数据时显得力不从心,而向量数据库作为一种新型的数据库解决方案,提供了极大的…

PAT-1004 成绩排名(java实现)

这一关感觉还没第三关难,思路很清晰 题目 1004 成绩排名 读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。 输入格式: 每个测试输入包含 1 个测试用例,格式为 第 1 行…

【算法】宵暗的妖怪

✨题目链接: 宵暗的妖怪 ✨题目描述 露米娅作为宵暗的妖怪,非常喜欢吞噬黑暗。这天,她来到了一条路上,准备吞噬这条路上的黑暗。这条道路一共被分为n 部分,每个部分上的黑暗数量为ai 。露米娅每次可以任取 连续的 未被…

赚钱其实没有秘密,多琢磨一下不丢人

为什么学了很多知识还是挣不到钱? 挣不到钱,是因为你不够稀缺;挣钱太少,是因为你不懂杠杆,用杠杆撬动稀缺,个人价值自然水涨船高。 学富五车,为何财库依旧空空?怎样才能提高挣钱的…

在全志H616核桃派开发板上配置SSH远程终端方法详解

熟悉指令用户可以对已经联网的核桃派进行局域网SSH远程终端控制,方便使用自己的PC对核桃派远程进行各种指令操作。 普通用户(默认) 账号:pi ; 密码:pi管理员账户 账号:root ; 密码:root 在这之…

在Android Studio中使用谷歌Gemini代码助手

今天在做android开发的时候,一个项目使用到了gradle8.0,但是我的Android Studuio根本不支持,无可奈何只能从小蜜蜂版本升级了水母 | 2023.3.1版本,但突然发现AS已经集成了Gemini助手。 首先我们需要下载这个版本的: h…

2.5Bump Mapping 凹凸映射

一、Bump Mapping 介绍 我们想要在屏幕上绘制物体的细节,从尺度上讲,一个物体的细节分为:宏观、中观、微观宏观尺度中其特征会覆盖多个像素,中观尺度只覆盖几个像素,微观尺度的特征就会小于一个像素宏观尺度是由顶点或…

JDBC常见异常(10)—预编译模式下占位符动态排序字段失效

场景需求 需要根据不同的列进行对应的排序操作,实现动态列名排序 类似🐟动态查询或更新 但是JDBC预编译模式下占位符的排序字段失效 SQL语句 分页查询 select * from (select t.*, rownum rn from(select * from emp order by empno desc) t where …

《java数据结构》--一篇解决二叉搜索树!!

😸二叉搜索树的概念 二叉搜索树又名二叉排序树,一般具有以下性质: 若它的左子树不为空,则左子树上所有节点的值都小于根节点的值若它的右子树不为空,则右子树上所有节点的值都大于根节点的值它的左右子树也分别为二叉…

C语言高级编程及实例剖析.pdf

C语言高级编程及实例剖析.pdf C语言,作为一种经典且强大的编程语言,已经在多个领域得到广泛应用。然而,要想真正掌握C语言的高级编程技巧,却并非易事。本文将深入探讨C语言的高级编程技巧,并结合实例进行详细剖析&…

61. UE5 RPG 实现敌人近战攻击技能和转向攻击

在前面,我们实现了敌人的AI系统,敌人可以根据自身的职业进行匹配对应的攻击方式。比如近战战士会靠近目标后进行攻击然后躲避目标的攻击接着进行攻击。我们实现了敌人的AI行为,但是现在还没有实现需要释放的技能,接下来&#xff0…

HTML5 音频 Audio 标签详解

HTML5 引入了 <audio> 标签&#xff0c;允许开发者在网页中直接嵌入音频文件&#xff0c;而不需要依赖第三方插件。本文将全面介绍 <audio> 标签的各种属性&#xff0c;并通过实例代码详细说明其用法。 一、基础用法 1. 基本结构 HTML5 中使用 <audio> 标…

通过定时器和脉冲控制LED

目录 一、定时器 &#xff08;一&#xff09;定时器简介 &#xff08;二&#xff09;定时器类型 1、常见定时器 2、定时器的主要功能 3、常规定时器 &#xff08;三&#xff09;定时器配置 1、定时器标准外设库接口函数 2、定时器标准外设库配置 二、PWM &#xff08…

匿名函数(lambda)

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 匿名函数是指没有名字的函数&#xff0c;应用在需要一个函数&#xff0c;但是又不想费神去命名这个函数的场合。通常情况下&#xff0c;这样的函数只…

【Qt】Qt界面美化指南:深入理解QSS样式表的应用与实践

文章目录 前言&#xff1a;1. 背景介绍2. 基本语法3. QSS 设置方式3.1. 设置全局样式3.2. 从文件加载样式表3.3. 使用 Qt Designer 编辑样式 总结&#xff1a; 前言&#xff1a; 在当今这个视觉至上的时代&#xff0c;用户界面&#xff08;UI&#xff09;的设计对于任何软件产…