自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 11_省市区例子

例子:选择省市例子图片[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pd6kD9YB-1611645879486)(/图片资源/省市区.png )]代码模板代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>显示省市区</title> <script src="/stat

2021-01-27 09:00:09 174 1

原创 10_常用技术

静态文件js css 和 images 都是静态文件,一般把他们放在同一个文件夹中。流程新建目录:配置,在settings.py中配置如下STATIC_URL = '/static/' # 配置url路径STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')] # 配置找到路径调用,html中<img src='/static/images/sg.png' />备注:如果把 STATIC_URL =

2021-01-26 15:08:06 114 1

原创 09_基于模板登录

CSRF概念介绍:CSRF: Cross Site Request Forgery,跨站请求伪造,指攻击者盗用你的身份,以你的名义发送恶意请求,包括:以你的名义发送邮件、发消息、盗取你的账号、购买商品等。造成环境:登录正常网站之后,你的浏览器保存的sessionid,你没有退出。你不小心访问了另外一个网站,并且点击了页面上的按钮。django如何解决:django默认提供csrf中间件用于防止csrf攻击,默认开启的,如下图在自己 post 提交表单的时候,加上标签 csr

2021-01-26 14:33:49 88

原创 08_模板templates

模板语言模板变量模板变量是由数字、字母、下划线和点组成,不能以下划线开头使用模板变量:{{ 模板变量名 }}模板变量解析顺序:{{ booktest.btitle }}首先把bookt当做一个字典,btitle当做键名,进行取值 book[‘btitle’]把book当做一个对象,把btitle当做属性,进行取值,book.btitle把book当做一个对象,把btitle当做对象方法,进行取值book.btitle{{ book.0 }}首先把book当做一个字典,把0当

2021-01-26 14:29:01 176

原创 07_视图

视图URLconfurl配置等都和之前一样,省略。内置错误视图404错误新建404.html文件,位置如下404.html 中可以自定义页面<html><head> <title></title></head><body>找不到了<hr/>{{request_path}}</body></html>作用:在浏览器输入没有正则化匹配的地址的时候,就会返

2021-01-26 14:08:48 56

原创 06_模型models

使用mysql数据库mysql数据库是web项目首选数据库,如何把django中默认数据库换成mysql?首先连接mysql数据库mysql -uroot -pxiaoye1014创建新数据库create database bj18 charset=utf8use bj18进入虚拟环境,创建项目、应用和注册引用django-admin startproject test2python manage.py startapp booktest # 注意进入路径settings

2021-01-26 14:02:30 235

原创 05_views和templates

视图(views)引入当我们刚刚在浏览器中输入 http://127.0.0.1:8000/admin/ 之后,浏览器显示出了后台管理的登录页面,那有没有同学想过这个服务器是怎么给我们找到这个页面并返回呢?/admin/是我们想要请求的页面,服务器在收到这个请求之后,就一定对应着一个处理动作,这个处理动作就是帮我们产生页面内容并返回回来,这个过程是由视图来做的。使用视图时需要两步定义视图函数配置URLconf定义视图视图的必须有一个参数,一般叫request,视图必须返回Ht

2021-01-26 13:57:23 143

原创 04_管理站点

Django后台管理(网页形式)引入:通过对这个页面的操作来实现对新闻数据库的增删改查操作。安装如下步骤管理界面本地化创建管理员用户注册模型类自定义管理页面1. 管理界面本地化本地化是将显示的语言、时间等使用本地的习惯,这里的本地化就是进行中国化。打开test/settings.py文件,找到语言编码、时区的设置项,将内容改为LANGUAGE_CODE = 'zh-hans' #使用中国语言TIME_ZONE = 'Asia/Shanghai' #使用中国上海时间2.

2021-01-25 19:54:40 146 1

原创 03_设计模型

模型设计ORM框架引入:django中内嵌了ORM框架,不需要直接面向数据库编程,而是定义模型类,通过模型类和对象完成数据表的增删改查。在django中进行数据库开发的步骤如下:在models.py 中定义模型类迁移通过类和对象完成数据的增删改查操作ORM介绍:O:object,对象,就是在models.py中写的数据表字段的类等R:relation,关系就是关系型数据库中的数据表的意思M:mapping,映射就是把类和数据表进行一个映射优势:通过类和类对象就能操作它

2021-01-25 19:50:58 62

原创 02_初次创建项目

创建图书管理项目首先需要用anaconda新建并激活一个虚拟环境,然后用该环境安装一个django。在当前用户的某个目录下,创建项目,这样就不会发生权限问题。cd /home/yeleimkdir pytestcd pytest创建项目django-admin startproject test1cd test1tree备注:manage.py 是项目管理文件,通过他管理项目__init__.py 是一个空文件,作用是这个目录test1可以被当做包使用setti

2021-01-25 19:33:31 62

原创 01_Django介绍

Django介绍Web MVC各部分功能介绍M:Model 主要封装对数据库层的访问,对数据库中的数据进行增删改查操作。V:View,用于封装结果,生成html页面C:Controller,用于接受请求,处理业务逻辑,与model和view交互,返回结果。Django介绍-介绍:Django的主要目的是便捷、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以插件的形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包,这使得D

2021-01-25 19:17:57 56

原创 06_数据库-表数据的操作

-- 数据库的操作 -- 连接数据库 启动数据库 mysql -uroot -p mysql -uroot -pxiaoye1014 -- 退出数据库 exit/quit/ctrl + d -- sql语句最后需要有分号;结尾 -- 不区分大小写 -- 显示数据库版本 select version(); -- 显示时间 select now(); -- 查看所有数据库 show databa.

2021-01-25 19:12:20 128 1

原创 05_python交互

python交互python访问数据库流程引入pymysql模块from pymysql import *增删改from pymysql import *def main(): # 创建Connection连接 conn = connect(host='localhost',port=3306,database='jing_dong',user='root',password='mysql',charset='utf8') # 获得Cursor对象

2021-01-25 19:08:57 46

原创 04_mysql高级

视图视图是什么?通俗的说,视图就是一条select语句执行后返回的结果集,所以我们在创建视图的时候,主要的工作就落在创建这条sql查询语句上。视图是对于若干张基本表的引用,一张虚拟的表,查询语句执行的结果,不存储具体的数据(基本表数据发生了改变,视图也会跟着改变。)方便操作,特别是查询操作,减少复杂的sql语句,增强可读性。sql语句创建视图 建议以v_开头create view 视图名称 as select ... ;查看视图 查看表也会将所有视图列出来show table

2021-01-25 19:07:36 61

原创 03_mysql安装

navicat网址:Navicat官网。下载的是Linux版本,位置三下载连支持,格式AppImage。Linux中运行AppImage方法:百度经验运行Navicat出错:Can't connect to local MySQL server through socket 2002 - Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (13 "权限不够")。解决方法:CSDN,即

2021-01-25 19:04:43 50

原创 02_数据库设计

数据库设计范式(设计规范)(Normal Form)1NF强调列的原子性,即列不能再分成其他几列。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NxLcQeVa-1611572359924)(/图片资源/不遵循1NF.png )]2NF首先是1NF,另外包含两部分内容,一是一个表必须有一个主键;二是没有包含在主键中的列必须完全依赖主键,而不是只依赖于主键的一部分。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XPmLL

2021-01-25 19:00:28 91

原创 01_数据库类型

数据库数据类型使用数据类型原则:够用就行,尽量使用范围小的,而不用大的,这样可以节省更多的存储空间。常用数据类型如下:整数:int,bit小数:decimal字符串:varchar,char日期时间: date, time, datetime枚举类型(enum)使用说明如下:decimal表示浮点数,如decimal(5,2)表示共存5位数,小数占2位char表示固定长度的字符串,如char(3),如果填充’ab’时会补一个空格为’ab ’varchar表示可变长度的字符串,

2021-01-25 18:58:16 218

原创 07_算中的实际应用

bitmap算法(位图算法)问题描述:假设针对用户-特征问题,一个用户有很多特征,同时有很多用户。那么如何存储、表达是个问题,因为如果用数据库来操作,select和join都需要内存比较大,且计算也复杂,性能差。所以引入位图bitmap,因为在位上的操作性能是最高的。步骤首先建立用户名和用户ID的映射。让每个标签存储包含此标签的所有用户ID,每个标签都是一个独立bitmap,每个标签:比如性别,有两个标签男女,所以此有两个bitmap。例如程序员和00后这两个群体,各自的bitmap分别如下:

2021-01-21 09:23:56 96

原创 06_面试中的常用算法

判断是否有环问题:判断一个链表是否有环?解题方法:假设链表的节点数量是n,则该算法的时间复杂度为O(n),除两个指针外没有使用任何额外的存储空间,所以空间复杂度是O(1)。问题扩展环长度?入环长度?代码/*链表节点*/private static class Node{ int data; Node next; Node(int data) {this.data = data;}}/*判断链表是否有环*/public static bo

2021-01-21 09:15:30 114

原创 05_排序

堆排序以最大堆为例,如果删除一个最大堆的堆顶(并不是完全删除,而是跟末尾的节点交换位置),经过自我调整,第二大的元素就会被交换上来,称为最大堆新堆的堆顶。由于二叉堆的这个特性,每一次删除旧的堆顶,调整后的新堆顶都是大小仅次于旧堆顶的节点,那么只要反复删除堆顶,反复调整二叉堆,所得到的集合就是一个有序集合。堆排序算法步骤:把无序数组构建成二叉堆,需要从小到大排序,则构建最大堆;如果需要从大到小排序,则构建最小堆。循环删除堆顶元素,替换到二叉堆的末尾,调整堆产生新的堆顶。时间复杂度

2021-01-19 16:50:22 117 2

原创 04_二叉树

满二叉树一个二叉树的所有非叶子节点都存在左右孩子,并且所有的叶子节点都在同一层级上,那么这个二叉树就是满二叉树。完全二叉树对于一个有n个节点的二叉树,按照层级顺序编号1到n,如果这个树所有节点和同样深度的满二叉树的编号节点位置相同,则称为完全二叉树。满二叉树要求所有分支都是满的,而完全二叉树只需保证最后一个节点之前的所有节点都齐全即可。二叉树物理存储结构链式存储结构数组存储结构: 使用数组存储时,会按照层级顺序把二叉树的节点放到数组中对应的位置上,如果某一个节点的左孩子或者右孩

2021-01-19 16:43:42 147 2

原创 03_神奇的算列表

哈希函数引入:有数组和字典,数组取值是用index,而字典取值是用key,而哈希函数类似中转站,映射,将key对应的找到index,所以时间复杂度是O(1).哈希函数的实现:每一个对象都有属于自己的hashcode,这个hashcode是区分不同对象的重要标识,这个hashcode是一个int型。index = HashCode(key) % Array.length key=001121时,index = Hashcode('001121') % Array.length = 14200367

2021-01-19 16:24:38 57 1

原创 02_什么是链表和数组

垃圾回收许多高级语言,如Java,拥有自动化的垃圾回收机制,所以我们不用刻意取释放被删除的节点,只要外部没有引用指向他们,被删除的节点就被自动回收。数组(顺序表代码)private int[] array;private int size;public MyArray(int capacity){ this.array = new int[capacity]; size = 0;}/*数组插入元素*/public void insert(int element, in

2021-01-19 16:22:09 58

原创 01_空间复杂度

空间复杂度的计算1.常量空间:当算法的存储空间大小固定,和输入规模没有直接的关系时,空间复杂度记 作O(1)。例如下面这段程序:void fun1(int n){ int var = 3; }线性空间:当算法分配的空间是一个线性的集合(如数组),并且集合大小和输入规模n成 正比时,空间复杂度记作O(n)。void fun2(int n){ int[] array = new int[n];}二维空间:当算法分配的空间是一个二维数组集合,并且集合的长度和宽度都

2021-01-19 16:20:02 212 1

原创 11_02_深入浅出话样式

备注:类关系结构图如下:样式(Style)Style 就是指控件的外观行为。构成 Style 最重要的两种严肃是 Setter 和 Trigger,Setter 类帮助我们设置控件的静态外观风格,Trigger 类则帮助我们设置控件的行为风格。Style 中的 Setter我们给属性赋值的时候一般采用“属性名=属性值”的形式,但是 Setter 类是 Property 来指明哪个属性,Value 指明属性的值。一个例子[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(i

2021-01-19 16:11:20 246

原创 11_01_深入浅出话模板

备注:类关系结构图如下:模板(Template)ControlTemplate 和 DataTemplate引入WPF 中通过引入模板(Template)微软将数据和算法的“内容”和“形式”解耦了,WPF 中的 Template 分为两大类:ControlTemplate 是算法内容的表现形式,一个控件怎么组织其内部形式才能让它更符合业务逻辑,让用户更舒服的操作它。它决定了控件“长成什么样子”。DataTemplate 是数据内容的表现形式,例如 TextBlock 的 Text 属性关联到

2021-01-19 16:02:14 195

原创 10_深入浅出话资源

备注:类关系结构图如下:事件(Event)引入WPF 程序中数据就分为四个等级存储:数据库里的数据相当于存放在仓库里,资源文件里的数据相当于放在旅行箱里,WPF 对象资源里的数据相当于放在随身携带的背包里,变量中的数据相当于拿在手里。WPF 对象级资源的定义和查找备注:每个 WPF 的界面元素都具有一个名为 Resource 的属性,这个属性继承自 FrameworkElement 类,其类型是 ResourceDictionary,形式是键值对的形式。一个例子备注:注意引入

2021-01-19 12:49:20 89

原创 09_深入浅出话命令

备注:类关系结构图如下:命令(Command)命令和事件区别事件的作用是发布传播一些消息,消息送达接受者,事件的使命也就完成了,至于如何响应,事件并不做规定,每个接受者可以使用自己的行为来响应事件。命令的区别在于命令具有约束力,约束代码结构、命名规则和步骤逻辑,类似接口和类的继承。命令具体介绍引入WPF 命令系统由几个基本要素构成,他们是:命令(Command):WPF 的命令实际上就是实现了 ICommand 接口的类,平时使用最多的就是 RoutedCommand 类。命令源(C

2021-01-18 21:22:25 165

原创 08_深入浅出话事件

备注:类关系结构图如下:事件(Event)Logical Tree 和 Visual TreeWPF 中有两种树,一种是逻辑树(Logical Tree),一种是可视元素树(Visual Tree)。我们所见到的所有树形结构都是 Logical Tree,Logical Tree最显著的特点就是它完全由布局组件和控件构成,每个 WPF 控件本身也是一棵由更细级别的组件组成,他们是 Visual Tree。大多数情况下我们都是和Logical Tree 打交道。如果想在 Logical Tree

2021-01-18 21:10:02 105

原创 07_深入浅出话属性

备注:类关系结构图如下:Property引入:06章研究了 Binding 的数据源这一端,本章将目光移向 Binding 的目标端,研究一下什么样的对象才能作为 Binding 的 Target 以及 Binding 将数据送往何处。属性 (Property) 的来龙去脉Weight 对于人个体有意义,但是对于人类没有意义,Amount 对于人类有意义,但是对于个体没有意义,所以采用静态和非静态,static。类中通常的属性,区别于字段,又被称为 CLR 属性(CLR, Common Lan

2021-01-18 21:01:33 132

原创 06_深入浅出话Binding

备注:类关系结构图如下:BindingBinding基础Binding作用:目的是实时变化,Binding的源是逻辑层的对象,Binding目标是UI层控件对象。一个例子:class Student: INotifyPropertyChanged{ public event PropertyChangedEventHandler PropertyChanged; private string name; public string Name {

2021-01-18 19:53:05 520

原创 05_控件与布局

备注:类关系结构图如下:控件分类布局控件:可以容纳多个控件或者嵌套其他布局控件,用于在 UI 上组织和排列控件。Grid、StackPael、DockPanel 等控件都属于此类,他们拥有共同的父类 Panel。内容控件:只能容纳一个其他控件或者布局控件作为他的内容。Window、Button等控件属于此类,因为只能容纳一个空间作为其内容,所以经常需要借助布局控件来规划其内容。他们的共同父类是 ContentControl。带标题的内容控件:相当于一个内容控件,但可以加一个标题(Hea

2021-01-18 19:39:23 333

原创 04_名称空间详解

备注:类关系结构图如下:X 名称空间X 名称空间映射的是 http://schemas.microsoft.com/winfx/2006/xaml。X 名称空间包含的东西可以分为 Attribute、标记扩展和 XAML 指令元素三类。X 名称空间中的 Attributex:Class这个 Attribut 的作用是告诉 XAML 编译器将 XAML 标签的编译结果与后台代码指定的类合并,在使用 x:Class 时必须遵循以下要求。这个 Attribute 只能用于根节点,意思是 X

2021-01-18 19:16:40 189

原创 03_系统学习XAML语法

属性元素备注:属性元素:即以元素形式来表示一个实例的属性。注意属性的键值对,键是属性名,可以拆成 Rectangle.Fill 形式,值是属性值,写成 SolidColorBrush 。尽量不用这种方式写,因为显得冗长。属性元素和属性标签是同一个意思。标记扩展备注:应用场景:有时候需要给对象赋一个 null 值,WOF 甚至允许一个对象的属性值依赖在其他对象的某个属性上,当需要进行这些特殊类型赋值时需要使用标记扩展。Text="{Binding ElementName=s..

2021-01-18 18:46:31 216

原创 02_从零起步认识XAML

认识 XAML新建 WPF 项目新建项目之后的分支认识:备注:Properties 分支:程序要用的一些资源(如图标、图片、静态的字符串)和配置信息。References 分支:标记了当前项目需要引用哪些其他的项目。App.xaml 分支:文件声明了程序的进程是谁,同时指定程序的主窗体是谁,在这个分支里还有一个文件—App.xaml.cs,他是 App.xaml的后台代码。Window1.xaml 分支:程序的主窗体,也有自己的后台代码 Window1.xaml.cs。解析最简单的 X

2021-01-18 18:34:23 379 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除