初识 Django

声明

适用于想要快速入门的开发者,有前后端开发以及语言基础,想要学习语法或者特性。
想要学会快速开发,快速入门,请看博客【实用向】Django 框架入门并结合本篇文章。

命令

命令描述
startproject创建一个 Django 项目
startapp创建一个 Django 应用
check校验项目完整性
runserver本地简易运行 Django 项目
shell进入 Django 项目的 PythonShell 环境
test执行 Django 用例测试
数据库命令描述
makemigrations创建模型变更的迁移文件
migrate执行上一个命令创建的迁移文件
dumpdata把数据库数据导出到文件
loaddata把文件数据导入到数据库

目录

文件名称描述
settings.py项目配置文件
urls.py项目路由配置文件
manage.py项目管理文件

项目和应用

Django 项目

  • 定义:一个 Django 项目是基于 Django 框架构建的 Web 应用。
  • 组成:项目包含一组配置若干个 Django 应用。

Django 应用

  • 定义:一个 Django 应用是一个可重用的 Python 软件包
  • 功能:每个应用可以独立管理以下组件:
    • 模型(Models):定义数据结构。
    • 视图(Views):处理用户请求和响应。
    • 模板(Templates):设计页面布局和展示。
    • 路由(URLs):定义 URL 到视图的映射。
    • 静态文件(Static Files):存储 CSS、JavaScript 和图片等静态资源。

在这里插入图片描述

Django 应用目录介绍

文件名用途描述
views.py视图处理的地方,负责处理用户请求和响应。
models.py定义应用模型的地方,用于定义数据结构。
admin.py定义 Admin 模块管理对象的地方,用于后台管理。
apps.py声明应用的地方,用于配置应用级别的设置。
tests.py编写应用测试用例的地方,用于测试应用功能。
urls.py(自行创建)管理应用路由的地方,用于定义 URL 到视图的映射。

模型层

模型层位于 Django 视图层和数据库之间用于 Python 对象和数据库表之间转换

在这里插入图片描述

为什么需要模型层

  • 屏蔽不同数据库之间的差异
  • 开发者更加专注于业务逻辑的开发
  • 提供很多便捷工具有助开发

模型字段

类型名称数据类型描述
数字类型IntegerField用于存储整数。
文本类型TextField用于存储大量文本。
短文本类型CharField存储短文本需要设置 max_length
日期类型DateTimeField用于存储日期和时间。
自增 IDAutoField自动递增的字段,常用于主键。
主键定义primary_key 属性定义模型中的字段作为主键。

初识 Django Shell

PythonShell,用于交互式的 Python 编程。DjangoShell 也类似,继承 Django 项目环境

为什么需要 DjangoShell

  • 临时性操作使用 DjangoShell 更加方便
  • 小范围 Debug 更简单,不需要运行整个项目来测试
  • 方便开发、方便调试、方便 Debug

初识 Django Admin

Django 的后台管理工具

读取定义的模型元数据,提供强大的管理使用页面

为什么需要 DjangoAdmin 模块

  • DjangoShell 新增文章太复杂了
  • 管理页面是基础设施中重要的部分
  • 认证用户、显示管理模型、校验输入等功能类似

初识 Bootstrap

来自美国 Twitter 的前端框架

提供非常多的控件并附带源码

栅格系统把页面均分为十二等份

初识 模板系统

基本语法

类型示例和用法
变量使用双花括号 {{ }} 输出变量值,如 {{ variable }}
标签使用单花括号和百分号 {% %} 实现控制流和逻辑,如 {% for item in list %} … {% endfor %}{% if condition %} … {% endif %}
注释使用 {# #} 进行注释,如 {# this is a comment #}
过滤器在变量输出中使用过滤器修改显示内容,例如 {{ variable|filter }}
模板继承使用 {% extends "base.html" %} 声明模板继承关系,通过 {% block %} 定义和填充块内容。
静态文件使用 {% static 'path/to/file.css' %} 加载静态文件,确保配置了静态文件处理器。

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

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

相关文章

.net core MVC入门(一)

文章目录 项目地址一、环境配置1.1 安装EF core需要包1.2 配置数据库连接二、使用EF创建表2.1 整体流程梳理2.1 建表详细流程三、添加第一个视图3.1整体流程梳理3.1 添加视图,并显示在web里四、使用EF增加Catogory数据,并且读取数据到页面4.1整体流程梳理4.2 实现五、增加Cat…

【freertos】FreeRTOS消息队列的介绍与使用

FreeRTOS消息队列的介绍与使用 一、概述二、消息队列的运作机制三、API函数1、消息队列创建函数2、消息队列静态创建函数3、用于向队列尾部发送一个队列消息4、在中断服务程序中用于向队列尾部发送一个消息5、向队列队首发送一个消息6、在中断服务程序中向消息队列队首发送一个…

页的初步认识

关于准备 我们在之前的学习中,已经学习了相当一部分有关段的知识,CPU提供了段的机制来给我们的内存进行保护,但实际上我们在x86下的段base是0,实际上并没有偏移 两种分页模式 我们有两种分页模式,29912分页和101012…

题目一:bugku---game1

2024.11.21 1、题目连接: 2、打开是个小游戏 3、正常玩一把结束后,用bp抓包 4、查看url有三个参数,score对应的就是我们结束这把游戏时获得的分数,sign的zM后面为这把游戏分数的base64加密 5、将抓到的包,发送到重放…

小柴冲刺软考中级嵌入式系统设计师系列三、嵌入式硬件设计(1)嵌入式系统电源管理

越努力,越幸运! 人生的意义在于体验! 目录 越努力,越幸运! 一、电源管理 (1)系统上电行为 (2)空闲模式 (3)断电 (4)电压与频率缩放 例如 具体实现如下: ① 12V 转8V ② 12V 转-8V ③ 12V 转5V ④ 5V 转3…

C++ 优先算法 —— 长度最小的子数组(滑动窗口)

目录 题目:长度最小的子数组 1. 题目解析 2. 算法原理 Ⅰ. 暴力枚举 Ⅱ. 滑动窗口(同向双指针) 滑动窗口正确性 3. 代码实现 Ⅰ. 暴力枚举(会超时) Ⅱ. 滑动窗口(同向双指针) 题目:长…

uniapp定义new plus.nativeObj.View实现APP端全局弹窗

为什么要用new plus.nativeObj.View在APP端实现弹窗?因为uni.showModal在APP端太难看了。 AppPopupView弹窗函数参数定义 参数一:弹窗信息(所有属性可不填,会有默认值) 1.title:"", //标题 2.content:"", //内容 3.confirmBoxCo…

网络安全——SpringBoot配置文件明文加密

一、前言 在日常开发中,项目中会有很多配置文件。比如SpringBoot项目核心的数据库配置、Redis账号密码配置都在properties、yml配置文件 中。 如果这些信息以明文的方式存储,你的电脑被拿去修理,就会容易泄露,一旦被其他人获取到…

Linux系统编程之进程基础知识

概述 在Linux系统中,进程是指一个正在运行的程序实例。每个进程都有一个唯一的进程标识符,即PID,操作系统通过这个PID来唯一识别和管理各个进程。进程不仅仅是程序代码的运行实例,它还包含了程序运行时所需的各种资源,…

2024智能机器人与自动控制国际学术会议 (IRAC 2024)

主办,承办,支持单位 会议官网 www.icirac.org 大会时间:2024年11月29-12月1日 大会简介 2024智能机器人与自动控制国际学术会议 (IRAC 2024)由华南理工大学主办,会议将于2024年11月29日-12月1日在中国广…

【Pytest+Yaml+Allure】实现接口自动化测试框架

一、框架思想 requestsyamlpytestallure实现接口自动化框架。结合数据驱动和分层思想,将代码与数据分离,易维护,易上手。使用yaml编写编写测试用例,利用requests库发送请求,使用pytest管理用例,allure生成…

利用 Jsoup 进行高效 Web 抓取与 HTML 处理

Jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 JQuery 的操作方法来取出和操作数据。 官网:https://jsoup.org/ 中文文档:Jsou…

蓝桥杯不知道叫什么题目

小蓝有一个整数,初始值为1,他可以花费一些代价对这个整数进行变换。 小蓝可以花贵1的代价将教数增加1。 小蓝可以花费3的代价将整数增加一个值,这个值是整数的数位中最大的那个(1到9) .小蓝可以花费10的代价将整数变为原来的2倍, 例如,如果整…

【JavaEE初阶】枫叶经霜艳,梅花透雪香-计算机是如何运行的?

本篇博客给大家带来的是与计算机相关的知识点, 包括:计算机的组成, 指令, 进程(重点). 文章专栏: JavaEE初阶 若有问题 评论区见 欢迎大家点赞 评论 收藏 分享 如果你不知道分享给谁,那就分享给薯条. 你们的支持是我不断创作的动力 . 1. 计算机的组成 1.1 计算机的发展史 计算…

SuperMap Objects组件式GIS开发技术浅析

引言 随着GIS应用领域的扩展,GIS开发工作日显重要。一般地,从平台和模式上划分,GIS二次开发主要有三种实现方式:独立开发、单纯二次开发和集成二次开发。上述的GIS应用开发方式各有利弊,其中集成二次开发既可以充分利…

Linux网络——NAT/代理服务器

一.NAT技术 1.NAT IP转换 之前我们讨论了, IPv4 协议中, IP 地址数量不充足的问题,NAT 技术就是当前解决 IP 地址不够用的主要手段, 是路由器的一个重要功能。 NAT 能够将私有 IP 对外通信时转为全局 IP. 也就是一种将私有 IP 和全局IP 相互转化的技术方法: 很…

使用八爪鱼爬虫抓取汽车网站数据,分析舆情数据

我是做汽车行业的,可以用八爪鱼爬虫抓取汽车之家和微博上的汽车文章内容,分析各种电动汽车口碑数据。 之前,我写过很多Python网络爬虫的案例,使用requests、selenium等技术采集数据,这次尝试去采集小米SU7在微博、汽车…

C语言笔记(自定义类型:结构体、枚举、联合体 )

前言 本文对自定义类型的结构体创建、使用、结构体的存储方式和对齐方式,枚举的定义、使用方式以及联合体的定义、使用和存储方式展开叙述,如有错误,请各位指正。 目录 前言 1 结构体 1.1 结构体的声明 1.2 结构体的自引用 1.3 结构体变…

【消息序列】详解(6):深入探讨缓冲区管理与流量控制机制

目录 一、概述 1.1. 缓冲区管理的重要性 1.2. 实现方式 1.2.1. HCI_Read_Buffer_Size 命令 1.2.2. HCI_Number_Of_Completed_Packets 事件 1.2.3. HCI_Set_Controller_To_Host_Flow_Control 命令 1.2.4. HCI_Host_Buffer_Size 命令 1.2.5. HCI_Host_Number_Of_Complete…

Element Plus的快速入门

一、什么是Element Plus Element : 是饿了么团队研发的,基于Vue3,面向设计师和开发者的组件库。 组件:组成网页的部分,例如超链接,按钮,图片,表格,表单,分页条等等。 …