初识 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,一经查实,立即删除!

相关文章

胸肩背腿手臂常用训练动作

胸部(Chest) 平板卧推:锻炼胸大肌,尤其是胸骨部分。上斜卧推:主要锻炼胸部上侧。下斜卧推:锻炼胸部下侧。哑铃飞鸟:锻炼胸部的外侧和胸大肌的拉伸。俯卧撑:全面锻炼胸部&#xff0c…

.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、将抓到的包,发送到重放…

利用Python爬虫获取淘宝商品评论:实战案例分析

在数字化时代,数据的价值日益凸显,尤其是对于电商平台而言,商品评论作为用户反馈的重要载体,蕴含着丰富的信息。本文将详细介绍如何利用Python爬虫技术获取淘宝商品评论,包括代码示例和关键步骤解析。 淘宝商品评论的…

HC-SR501 PIR传感器是如何工作的以及如何与ESP32接口的

如果您正在考虑为自己制作防盗警报器,或者您正在考虑在您的房间里自动化灯光,那么您绝对应该考虑为您的项目使用 HC-SR501 被动红外传感器或 PIR 传感器,因为顾名思义,PIR 传感器允许您检测人或动物何时进出您的传感器范围。您可以在许多现代现成的安全系统中找到此传感器。…

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

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

git-显示顺序与提交顺序不一致的问题

问题流程 a分支 初始记录:分支的提交记录是 c1 -> c2 -> c3第一次修改提交记录但并未push:a1(20:18)第二次修改提交记录:a2(20:20) b分支 初始记录: c1 -> c2 -> c3 …

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…

互联网摸鱼日报(2024-11-22)

互联网摸鱼日报(2024-11-22) 36氪新闻 学习马斯克不丢人,脸书也开始改造自己了 旅游行业趋势变了,增长还能从哪里寻找? 大厂入局后,小型小游戏团队能否继续喝一口汤? 一拥而上的“跨界咖啡”,是“走心”…

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

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

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

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

docker离线安装linux部分问题整理

0:离线安装docker过程命令 echo $PATH tar -zxvf docker-26.1.4.tgz chmod 755 -R docker cp docker/* /usr/bin/ root 权限 vim /etc/systemd/system/docker.service --------- [Unit] DescriptionDocker Application Container Engine Documentationhttps://docs.do…

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 计算机的发展史 计算…