python web 框架Django学习笔记
2018年5月
python web 框架Django学习笔记
Django 架站的16堂课
MVC架构设计师大部分框架或大型程序项目中一种软件工程的架构模式,把程序或者项目分为三个主要组成部分,Model数据模型、View视图、Controller控制器。
命令及设置相关
-
创建数据库及中间文件,每次数据表有改动都要执行下面的两句
python manage.py makemigrations name
同步更新数据库内容
python manage.py migrate -
生成项目及app
python django-admin startproject name
python manage.py startapp name -
运行项目
pyhton manege.py runserver [IP及port]
默认为 127.0.0.1:8000 -
启动admin管理界面
python manage.py createsuperuser
输入username password
然后在 admin.py 中
from django.contrib import admin
from .models import yournameadmin.site.register(yourname)
自定义后台显示
class PostAdmin(admin.ModelAdmin):list_display=('aa','bb','cc') #要和数据库中字段一致ordering = ('-pub_time')
admin.site.register(yourname,PostAdmin)
- 加入static文件的方法
Django 架站的16堂课 70页
setting.py 中
STATIC_URL = '/static/'
STATICFILES_DIRS =[BASE_DIR+"/static"]
在html中引用方法
{% load staticfiles %} // 只需使用一次即可
<img src ="{% statci 'img/logo.png' %}">
模板相关
- template语言
- {% if 条件 %} … {% endif %}
- {% if 条件 %} … {% elif 条件 %} … {% endif %}
- {% if 条件 %} … {% elif 条件 %} … {% else %} … {% endif %}
- 继承与共享

共享使用方法:
{% include 'header.html' %}
继承使用方法:
{% extends 'base.html' %}
-
过滤器
在网页中显示摘要,或者指定日期格式等,可以使用过滤器 -
html 代码的表格绘制
{% for c in cars %}{% if forloop.first %} // 第一次循环
<table><tr><td>车厂</td><td>车款</td></tr>{% endif %}<tr bgcolor = "{% cycle '#eeeeee' '#cccccc'%}" // 循环颜色<td>{{ maker_name }}</td><td>{{ c }} </td></tr>{% if forloop.last %} // 最后一次循环
</table>{% endif %}
{% empty %} // 如果cars为空<h3> 车厂 <em>{{ maker_name }}</em>目前无库存</h3>
{% endfor %}
模型相关
- models 中选项
SIZES = ('Small','Medium','Large')size = models.CharField(max_length =1, choices = SIZES)
- 数据表以名字显示
def __str__(self): # python3return self.PackageNum
def __unicode__(self): # python2return self.PackageNum
注意python3和python2的不同。
在后台显示数据表的名字:
def Meta: # python3verbose_name = "什么什么表"ordering = ['name'] # 按 name 字段排序
-
外键
maker = models.ForeignKey(Marker,on_delete = models.CASCADE)
指当被引用对象被删除时,此引用对象也要一并删除。 -
admin 后台显示中文
在定义模型class时,加上verbose_name='中文' -
model中允许一个字段不是必填项
blank = True
注意其与null = True的区别,null为接收空字符 -
更新某项数据最好使用update而不是save方法

视图相关
-
view 中对数据库的查询相关操作
Django的view函数中,主要是找到数据项,把它放在某一变量中,对对其进行相关操作,all()/save()等 -
url传递参数
在url中,定义规则为url(r'^list/([0-9a-zA-Z]+)/$',disp_details)
会将括号中的参数取出来传递到后面disp_details函数中
def disp_detail(request,sku)...
Django 开发宝典
王友钊等编著
书中笔记摘抄
2018年6月
-
HttpResponse('[http_user_agent]:%s,[remote_addr]:%s') %s (http_user_agent,remote_addr)
在view中,返回数据的一种形式,%s为占位符。(120页) -
{% ifequal %}标签比较两个值,可以是变量、字符串、整数和小数。
{% ifequal section 'sitenews' %}<h1>Site News</h1>
{% else %}<h1>No News Here</h1>
{% endifequal %}
- 注释
{# This is a connent #}
多行注释
{% comment %}
This is
a multi-line
comment
{% endcomment %}
- views函数的一个捷径
常规方法:
def current_datetime(request):now = datetime.datetime.now()t = get_template('current_datetime.html')html = t.render({'current_date':now})return HttpResponse(html)
便捷方法:
在 django.shortcuts 模块中的 render_to_response() 函数
from django.shortcuts import render_to_response
import datetimedef current_datetime(request):now = datetime.datetime.now()return render_to_response('current_datetime.html',{'current_date':now})
- 数据更新
不好的代码:
p = Publisher.objects.get(name='Apress')
p.name = 'Apress Publishing'
p.save()
这样更新了name,所有列都进行了更新,不明智。使用update()方法
Publisher.objects.filter(id=52).update(name='Apress Publishing')
相关文章:
python web 框架Django学习笔记
2018年5月 python web 框架Django学习笔记 Django 架站的16堂课 MVC架构设计师大部分框架或大型程序项目中一种软件工程的架构模式,把程序或者项目分为三个主要组成部分,Model数据模型、View视图、Controller控制器。 命令及设置相关 创建数据库及中间…...
ubuntn20 搭建 redmine
安装数据库 更新包列表:sudo apt update 安装MySQL服务器:sudo apt install mysql-server 运行安全性脚本:MySQL服务器安装后,运行以下命令以加固安装:sudo mysql_secure_installation 这个脚本将引导您完成几个安全选…...
每日五道java面试题之java基础篇(三)
第一题. switch 是否能作⽤在 byte/long/String 上? Java5 以前 switch(expr)中,expr 只能是 byte、short、char、int。从 Java 5 开始,Java 中引⼊了枚举类型, expr 也可以是 enum 类型。从 Java 7 开始,expr 还可以…...
如何升级 gpt4?快速升级至ChatGPT Plus指南,爆火的“ChatGPT”到底是什么?
提到 ChatGPT。想必大家都有所耳闻。自从 2022 年上线以来,就受到国内外狂热的追捧和青睐,上线2个月,月活突破1个亿!!! 而且还在持续上涨中。因为有很多人都在使用 ChatGPT 。无论是各大头条、抖音等 App、…...
【实习】深信服防火墙网络安全生产实习
一、实习概况 1.1实习目的 1.掌握防火墙规则的作用2.掌握代理上网功能的作用3.掌握端口映射功能的作用 1.2实习任务 1.防火墙的WEB控制台 2.需要在防火墙上配置dnat …...
怎么把视频音乐提取成mp3?分享详细工具和方法!
在数字媒体时代,音乐已经成为我们生活中不可或缺的一部分。有时候,我们会在社交媒体、视频分享网站或在线视频平台上看到一些非常喜欢的视频音乐,想要将其保存为MP3格式以便随时随地聆听。那么,如何从视频中提取音乐并转换为MP3格…...
代码随想录算法训练营第44天 | 完全背包理论基础 518.零钱兑换II 377.组合总和 Ⅳ
完全背包理论基础 完全背包与01背包只相差在物品是无限取用的。因此和01背包相比第二层对背包容量的遍历应该是正序的,而且正因为这个正序,使得在纯完全背包问题中,背包容量和物品的遍历是可以倒过来的。 #include <bits/stdc.h> usi…...
深度解析与推荐:主流Web前端开发框架
一、引言 在信息化社会中,Web前端开发的重要性日益凸显。作为连接用户与后台服务的关键桥梁,前端界面不仅直接影响用户体验,更是企业品牌形象、产品价值传递的重要载体。随着互联网技术的飞速发展,用户对于网站和应用的交互性、响应速度以及视觉效果等方面的要求越来越高,…...
【React】如何使antd禁用状态的表单输入组件响应点击事件?
最近遇到一个需求,需要在<Input.textarea>组件中,设置属性disabled为true,使textarea响应点击事件,但直接绑定onClick并不会在禁用状态下被响应。 解决方法1 之后尝试了很多方法,比如设置csspointer-events:no…...
Apache Flink
前言 最近在学习室内融合定位服务架构,业务架构上,涵盖了数据采集、处理、状态管理、实时计算和告警等多个方面,但有些问题:这套系统中包含了大量的有状态计算,目前是通过自设计内存对象进行管理,并利用Re…...
SpringMVC速成(一)
文章目录 SpringMVC速成(一)1.SpringMVC概述2.SpringMVC入门案例2.1 需求分析2.2 案例制作步骤1:创建Maven项目步骤2:补全目录结构步骤3:导入jar包步骤4:创建配置类步骤5:创建Controller类步骤6:使用配置类替换web.xml步骤7:配置Tomcat环境步骤8:启动运行…...
通过nginx学习linux进程名的修改
目录 1. 缘起2. 背景知识3. 源码分析3.1 准备工作3.2 设置进程名字 1. 缘起 在运行nginx的时候,用ps查看nginx的进程信息,可能的输出如下: root 42169 3105 0 16:51 ? 00:00:00 nginx: master process ./objs/nginx root …...
【PyTorch】实现迁移学习框架DANN
文章目录 前言代码实现1、导入数据库关于torch.manual_seed(1)2、参数设置3、数据导入4、定义训练函数4.1 nn.CrossEntropyLoss()4.2 .detach()4.3 .size VS .shape4.4 .to(DEVICE)4.5 .max()4.6 optimizer.zero_grad()4.7 len(data...
thinkphp6入门(18)-- 中间件中除了handle函数,还可以有其它函数吗
在ThinkPHP 6的中间件中,除了 handle 方法外,还可以定义其他方法。这些额外的方法可以用于执行中间件中的不同逻辑,但是只有 handle 方法是中间件的入口点,其他方法则需要在 handle 方法中手动调用。 (图片来自https://www.cnblog…...
Java stream 流的基本使用
Java stream 的基本使用 package com.zhong.streamdemo.usestreamdemo;import jdk.jfr.DataAmount; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;import java.util.ArrayList; import java.util.Comparator; import java.util.Li…...
C++面向对象 Part 2
文章目录 类六个默认存在的成员函数构造函数:析构函数:拷贝构造函数:拷贝构造详解及细节: 赋值运算符重载;取地址及const取地址操作符重载const修饰的含义: 类六个默认存在的成员函数 构造函数 析构函数 拷贝构造函数 赋值运算…...
海外云手机的核心优势
随着5G时代的到来,云计算产业正处于高速发展的时期,为海外云手机的问世创造了一个可信任的背景。在资源有限且需求不断增加的时代,将硬件设备集中在云端,降低个人用户的硬件消耗,同时提升性能,这一点单单就…...
CDN相关和HTTP代理
CDN相关和HTTP代理 参考: 《透视 HTTP 协议》——chrono 把这两个放在一起是因为容易搞混,我一开始总以为CDN就是HTTP代理,但是看了极客时间里透视HTTP协议的讲解,感觉又不仅于此,于是专门写下来。 先说结论…...
STM32的ADC电压采集
时间记录:2024/2/9 一、ADC相关知识点 (1)STM32的ADC时钟不要超过14MHz,不然结果的准确率将下降 (2)ADC分为规则组和注入组,规则组相当于正常运行的程序,注入组相当于中断可以打断…...
基于麻雀优化算法优化XGBoost参数的优化控制策略
目录 一、背景 二、算法流程图 三、附录 一、背景 为提高极端梯度提升(Extreme Gradient Boosting, XGBoost)集成算法在时间预测、信贷风险预测、工件参数预测、故障诊断预测等方面中的准确性,研究者提出了一种改进的麻雀算法(…...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...
解读《网络安全法》最新修订,把握网络安全新趋势
《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...
如何应对敏捷转型中的团队阻力
应对敏捷转型中的团队阻力需要明确沟通敏捷转型目的、提升团队参与感、提供充分的培训与支持、逐步推进敏捷实践、建立清晰的奖励和反馈机制。其中,明确沟通敏捷转型目的尤为关键,团队成员只有清晰理解转型背后的原因和利益,才能降低对变化的…...
认识CMake并使用CMake构建自己的第一个项目
1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...
从物理机到云原生:全面解析计算虚拟化技术的演进与应用
前言:我的虚拟化技术探索之旅 我最早接触"虚拟机"的概念是从Java开始的——JVM(Java Virtual Machine)让"一次编写,到处运行"成为可能。这个软件层面的虚拟化让我着迷,但直到后来接触VMware和Doc…...
Visual Studio Code 扩展
Visual Studio Code 扩展 change-case 大小写转换EmmyLua for VSCode 调试插件Bookmarks 书签 change-case 大小写转换 https://marketplace.visualstudio.com/items?itemNamewmaurer.change-case 选中单词后,命令 changeCase.commands 可预览转换效果 EmmyLua…...
车载诊断架构 --- ZEVonUDS(J1979-3)简介第一篇
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…...
HTML中各种标签的作用
一、HTML文件主要标签结构及说明 1. <!DOCTYPE html> 作用:声明文档类型,告知浏览器这是 HTML5 文档。 必须:是。 2. <html lang“zh”>. </html> 作用:包裹整个网页内容,lang"z…...
Axure Rp 11 安装、汉化、授权
Axure Rp 11 安装、汉化、授权 1、前言2、汉化2.1、汉化文件下载2.2、windows汉化流程2.3、 macOs汉化流程 3、授权 1、前言 Axure Rp 11官方下载链接:https://www.axure.com/downloadthanks 2、汉化 2.1、汉化文件下载 链接: https://pan.baidu.com/s/18Clf…...
从0开始学习R语言--Day17--Cox回归
Cox回归 在用医疗数据作分析时,最常见的是去预测某类病的患者的死亡率或预测他们的结局。但是我们得到的病人数据,往往会有很多的协变量,即使我们通过计算来减少指标对结果的影响,我们的数据中依然会有很多的协变量,且…...
