Django第二天笔记

一、安装虚拟环境

安装虚拟环境软件
pip3 install virtualenv
安装虚拟环境扩展包
pip3 install virtualenvwrapper
配置家目录下的环境配置文件 .bashrc,添加如下内容
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
环境变量生效
source .bashrc
创建python3的虚拟环境
mkvirtualenv -p python3 py_django


注意:
所有的虚拟环境,都位于/home/python/下的隐藏目录.virtualenvs下。
因为我们配置了WORKON_HOME=$HOME/.virtualenvs

安装django软件
pip install django==1.8.2


报错:
>>> import MySQLdb
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
ImportError: No module named 'MySQLdb'

解决办法:

1. 安装pymsql
pip install pymysql
2. 安装完毕,打开项目的_init_.py,添加如下两行代码:
import pymysql 
pymysql.install_as_MySQLdb()
3. 重新执行
python manage.py migrate
注意:django 1.6版以下为python manage.py syncdb


二、render 使用详解
render(参数1, 参数2,参数3)
参数2:必须是request
参数2: 调用的模板文件
参数3:给模板传入的参数
注意:
参数3可有可无



三、django访问流程
1、用户发起请求
2、url路由系统对请求关键字进行分发
3、分发给对应的views视图函数hello
4、view视图调用models文件去数据库中获取数据
5、view视图调用指定的template模板文件,
6、将获取的数据填充到template文件中
7、通过模板标签变量名进行指定位置数据填充
8、形成一个完整的web页面,返回给用户



模板文件:
不变的是 静态文件内容
变化的是 模板标签

四部分:
url路由:根据请求关键字,分发请求给对应视图函数
view视图 :数据逻辑处理
1、根据用户请求,调用models获取对应的数据
2、调用模板,填充数据
models模型:数据访问层,去数据库中获取数据
templates模板:view获取到的数据存放地方


五、orm


第一层意思:映射
Object 对象 -- models文件中定义的模型类对象
Relation 关系 -- 关系数据库中的数据表
Mapping 映射 -- 对象和数据表的一一对应
实例对象 -- 一条完整数据记录

模型类 数据库表
类名 表名
属性 字段
字段类型 字段属性


第二层意思:转换

模型类做的一个动作 具体的sql语句
all() select * from ...


orm:
映射
转换




字段类型:
四个:布尔、整数、字符串(max_length)、日期

选项:
null 针对于数据库表的设计用的,用来判断某个字段属性是否为空
表设计,段属性
blank
针对于数据库表的某条数据记录用的,用来判断某个字段值的是否为空
表记录,值为空
default
针对于数据库表的某条数据记录用的,用来定义某个字段值的默认值
表记录,默认值




操作分析:
all()
select * from
get()
select * from 。。。 where 

>>> b=BookInfo()
>>> b.btitle="你好帅,班长666"
>>> from datetime import date
>>> b.bpub_date=date(2000,1,10)
>>> b.save()

b.btitle如果为空,那么这一个整体就是insert
b.btitle如果不为空,那么这一个整体就是update
delete()
delete from 。。。。



管理器:
默认管理器:
默认的名称是objects
可以改名,以覆盖的形式
books = models.Manager()
注意:
二者只能生存一个

自定义的管理器
1、更改(重写)某个特殊类型属性
2、增加一个特殊的属性
注意:
自定义的管理器可以和默认管理器同时存在

python当中的两种层级关系:
代码中使用缩进表示层级关系
文件间使用 . 表示层级关系


模板:
变量名标签:
{{变量名}}
循环标签
{%for 条件%}
执行语句
{%endfor%}

python中的for
for 条件:
执行语句

查询集:
特性:
惰性
缓存



过滤器:
all() *****
select * from 。。。
filter() *****
select * from 。。。 where/limit
exclude()

order_by()
get() *****
select * from 。。。 where


条件查询:
格式:属性名称__比较运算符=值

等值和取反
等值exact
取反:.exclude()

模糊查询
包含:
contains
范围:
in
二分查询:
gt lt gte lte

锚定查询
startswith
endswith

日期
year、month、day、week_day、hour、minute、second



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

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

相关文章

随机森林-集成学习方法(分类)

随机森林-集成学习方法&#xff08;分类&#xff09; 1 集成学习方法 集成学习通过建立几个模型组合的来解决单一预测问题。它的工作原理是生成多个分类器/模型&#xff0c;各自独立地学习和作出预测。这些预测最后结合成单预测&#xff0c;因此优于任何一个单分类的做出预测…

05.序列模型 W3.序列模型和注意力机制(作业:机器翻译+触发词检测)

文章目录作业1&#xff1a;机器翻译1. 日期转换1.1 数据集2. 用注意力模型进行机器翻译2.1 注意力机制3. 可视化注意力作业2&#xff1a;触发词检测1. 数据合成&#xff1a;创建语音数据集1.1 听一下数据1.2 音频转频谱1.3 生成一个训练样本1.4 全部训练集1.5 开发集2. 模型2.1…

线性回归分析-回归算法

线性回归分析-回归算法 1 回归算法 机器学习中监督学习算法分为分类算法和回归算法两种&#xff0c;其实就是根据类别标签分布类型为离散型、连续性而定义的。回归算法用于目标是连续的&#xff0c;在指定区间内可以是任意一个数值&#xff0c;针对的是数值型的样本&#xff0…

占位

占位 转载于:https://www.cnblogs.com/CharmingDang/p/9663915.html

Django入门 -- 框架操作基本流程

-- 入门 123456789# Django开发流程&#xff1a;# 1.创建虚拟环境&#xff1b;# 2.安装django&#xff1b;# 3.创建项目&#xff1b;# 4.创建应用&#xff1b;# 5.在models.py中定义模型类&#xff0c;为视图提供数据&#xff1b;# 6.定义视图,处理浏览器请求# 7.配置URL# 8.创…

拟合与岭回归

目录 拟合与岭回归 1 什么是过拟合与欠拟合 2 模型复杂度 3 鉴别欠拟合与过拟合 4 过拟合解决方法 5 岭回归&#xff08;Ridge&#xff09; 6 模型的保存与加载 拟合与岭回归 1 什么是过拟合与欠拟合 通过下面两张图来解释过拟合和欠拟合&#xff1a; 左图中机器通过这…

LeetCode 778. 水位上升的泳池中游泳(二分查找+dfs)

文章目录1. 题目2. 解题1. 题目 在一个 N x N 的坐标方格 grid 中&#xff0c;每一个方格的值 grid[i][j] 表示在位置 (i,j) 的平台高度。 现在开始下雨了。当时间为 t 时&#xff0c;此时雨水导致水池中任意位置的水位为 t 。 你可以从一个平台游向四周相邻的任意一个平台&a…

nyoj_66_分数拆分_201312012122

分数拆分 时间限制&#xff1a;3000 ms | 内存限制&#xff1a;65535 KB难度&#xff1a;1描述现在输入一个正整数k,找到所有的正整数x>y,使得1/k1/x1/y. 输入第一行输入一个整数n,代表有n组测试数据。 接下来n行每行输入一个正整数k输出按顺序输出对应每行的k找…

pycharm快捷键、常用设置、配置管理

内容包含&#xff1a; pycharm学习技巧 Learning tips PyCharm3.0默认快捷键(翻译的) pycharm常用设置 pycharm环境和路径配置 Pycharm实用拓展功能&#xff1a;pycharm中清除已编译.pyc中间文件 python2转python3最快方式 [pycharm版本控制和数据库管理][PyCharm中的那些实用功…

逻辑回归-分类算法

目录 逻辑回归-分类算法 1 概述 2 sigmoid函数 3 逻辑回归公式 4 逻辑回归的损失函数 5 均方误差与对数自然损失对比 6 sklearn逻辑回归API 7 案例 8 总结 逻辑回归-分类算法 1 概述 逻辑回归&#xff08;Logistic Regression&#xff09;&#xff0c;简称LR。它的特…

LeetCode 1220. 统计元音字母序列的数目(DP)

文章目录1. 题目2. 解题1. 题目 给你一个整数 n&#xff0c;请你帮忙统计一下我们可以按下述规则形成多少个长度为 n 的字符串&#xff1a; - 字符串中的每个字符都应当是小写元音字母&#xff08;a, e, i, o, u&#xff09; - 每个元音 a 后面都只能跟着 e - 每个元音 e 后面…

专著出版成本计算

最近有个老师要出版专著&#xff0c;顺便查了下出版的成本组成&#xff0c;网络上总结整理&#xff0c;基本详细。之前也出版了一本教材&#xff0c;所以认识电子工业出版社的编辑&#xff0c;有需要的也可以联系我。 编写教材的话出版社看上了之后自己是不需要出钱的&#xff…

Django视图(python函数)

1.视图 视图负责接受Web请求HttpRequest&#xff0c;进行逻辑处理&#xff0c;返回Web响应HttpResponse给请求者响应可以是一张网页的HTML内容&#xff0c;一个重定向&#xff0c;一个404错误等 视图就是python中的函数视图一般被定义在“应用/views.py”文件中 视图的第一个…

非监督学习

非监督学习 1 什么是非监(unsupervised learning)督学习 无监督学习&#xff0c;就是不受监督的学习&#xff0c;一种自由的学习方式。该学习方式不需要先验知识进行指导&#xff0c;而是不断地自我认知&#xff0c;自我巩固&#xff0c;最后进行自我归纳&#xff0c;在机器学…

LeetCode 1250. 检查「好数组」(set / 最大公约数)

文章目录1. 题目2. 解题1. 题目 给你一个正整数数组 nums&#xff0c;你需要从中任选一些子集&#xff0c;然后将子集中每一个数乘以一个 任意整数&#xff0c;并求出他们的和。 假如该和结果为 1&#xff0c;那么原数组就是一个「好数组」&#xff0c;则返回 True&#xff1…

js中this和回调方法循环-我们到底能走多远系列(35)

我们到底能走多远系列&#xff08;35&#xff09; 扯淡&#xff1a; 13年最后一个月了&#xff0c;你们在13年初的计划实现了吗&#xff1f;还来得及吗&#xff1f; 请加油~ 主题&#xff1a; 最近一直在写js&#xff0c;遇到了几个问题&#xff0c;可能初入门的时候都会遇到吧…

用户画像系统

用户画像系统 1 用户画像概述 1.1 什么是用户画像 用户画像就是对现实世界中用户的数学建模。现实世界的用户通过自己各种各样的行为&#xff0c;浏览购买&#xff0c;或者收藏&#xff0c;等等这些行为会把自己的兴趣爱好等体现在这些行为中&#xff0c;比如喜欢看书就会有…

编程思想:面向对象和面向过程

何谓面向对象&#xff1f;何谓面向过程&#xff1f;对于这编程界的两大思想&#xff0c;一直贯穿在我们学习和工作当中。我们知道面向过程和面向对象&#xff0c;但要让我们讲出来个所以然&#xff0c;又感觉是不知从何说起&#xff0c;最后可能也只会说出一句就是那样啦&#…

LeetCode 1210. 穿过迷宫的最少移动次数(状态压缩BFS)

文章目录1. 题目2. 解题1. 题目 你还记得那条风靡全球的贪吃蛇吗&#xff1f; 我们在一个 n*n 的网格上构建了新的迷宫地图&#xff0c;蛇的长度为 2&#xff0c;也就是说它会占去两个单元格。 蛇会从左上角&#xff08;(0, 0) 和 (0, 1)&#xff09;开始移动。 我们用 0 表示…

读书笔记2013第18本:《像外行一样思考,像专家一样实践》

这本书是在看《暗时间》时收集到的&#xff0c;书的副标题是科研成功之道&#xff0c;自己是个信息工作者&#xff0c;也号称科研工作者&#xff0c;虽然经常忙着一些杂活&#xff0c;没有时间认真思考和做实验。但从中找点立项、研究、演讲、总结的经验也是有益的。这本书的目…