Django小范围傻瓜总结
1.母版:
layout.html
{% block x %}{% endblock %}
2.子版:
{% extends 'layout' %}
{% block x %}.......{% endblock %}
3.Cookie
在浏览器上保持的键值对,参数(超时时间,域名)
服务器写Cookie:
#obj=HttpReponse(...)
#obj=render(...)
obj=redirect(...) #不一定是redirect三个中的任意一个都行
obj.set_cookie(k1,v1,max_age) #max_age超时时间,过了这个时间就消失了
obj.set_signed_cookie(k1,v1,max_age,salt='fff') #加盐版
获取Cookie:
request.COOKIES.get('k1')
request.get_signed_cookie('k1'.salt='fff') #接收加盐版Cookie
Cookie作用登录和限制操作次数(投票)
4.BootStrap响应式布局@media
5.后台管理页面布局
左面菜单栏占200多,右边全占用
position:absolute;
overlow:scroll;
<div class='div1'>
<span class='span1'>abc</span>
</div>
.div1:hover .span1{
当鼠标移动到父标签div的时候他的孩子span发生想要的变化
}
position中三个属性:absolute,relative,fixed
之前:自己建立app01 自己创建目录-view.py 用SQLHelper封装SQL操作
这些工作django都已经内部做好了,今天就来发挥django10成的功力
6.三个框架
Django:
路由
视图
模板
ORM框架(本质上在内部,类-表,对象-行,连接数据库还是用pymysql)
Torando:
路由
视图
模板
pymysql,SQLAchemy(没有ORM框架可以随便用,就是有也可以随便用,但是既然有就用)
flask:
路由
视图
模版(第三方组件)
pymysql,SQLAchemy(也没有ORM框架,瞎胡用)
7.app01目录:
migrations -数据库相关使用的,讲modal的时候会说
admin -django在内部写的一个后台管理,用来配置后台管理进去之后能做什么操作,可以代替nevicate了
apps -当前app01的相关的配置文件可以下在这里
models -django的ORM类就写在这个文件里面,类->表
test -快速的做一个单元测试
8.路由系统
url -> 函数
a. /login/ -> def login
b. /add-user/(\d+) -> def login 在url上还可以写正则表达式
c. get传值:权重低,搜索结果在后面,百度爬虫会认为?后面的东西会经常变
d. .html伪静态,静态文件访问速度快,增加权重,哄用户,骗百度
e. url(r'^edit$', views.edit) 推荐用这个
f. 伪静态:
类似静态网站,一访问就直接把模板返回,动态网站需要从数据库拿
点东西然后进行模板渲染在返回给浏览器,后者比较慢
例:url(r'^edit/(\w+).html$',views.edit)
g. 路由分发:
宗旨:让每一个app里面都有一个自己的url路由系统 include
引入include通过他把引路 url(r'^app01/',include('app01.urls'))
h. 起别名: url(r'^index/(?P<a1>\d+)/', views.index,name='n1')
根据名字反推出url:
1.在Python中先导入reverse
2.反生成url
url分为三种:
1.一对一
2.正则表达式类的url,加几节url就要在函数中对应有几个参数接收
3.include -- url分发
9.别名的运用:
别名和ORM是Django框架特有的
***注意:
如果是url一对一的话:在函数中也就是后台通过reverse反转的url,就是函数对应的url,这个没毛用
url正则情况:在函数中通过reverse反转的url,开始断不变其他随意变的东东
如果是前端替换的话:可以利用urls文件中写的任意别名
---------------------------------------------------------------------
数据库里面存放着每个用可以看到的url表,比如:
方柯基:/index/a/b/c/d/e/
/login/a/b/c/d/e/
/duantui/a/b/c/d/e/
当用户方柯基一登录的时候,我们就要从数据库拿到这些数据,再通过模板
渲染后发送给服务器,在模板中我们要循环这些url插入到a标签中
<ul>
for url in url_list:
<li><a href='{{url}}'>ff</a><li>
</ul>
但是这样的话url很长,而且一眼看不出干啥的,于是就有了别名
我们在数据库就存这个
方柯基:n1
n2
n3
这样我们在数据库放的东西也少了,而且别名由我们自己取,我们
可以自己起一个适合的名字。渲染的时候变一下就可以了
<ul>
for name in name_list:
<li><a href='{% url name %}'>ff</a><li>
</ul>
---------------------------------------------------------------------
10.视图函数:
CBV:围绕类来写,就是面向对象
FBV:围绕函数来写,之前就是一直这么搞
11.ORM操作
在HTTP请求中:
url->视图(模板+数据) ORM功能:
1.操作表
创建表
修改表sqlAlchemy不能修改表
删除表
2.操作数据行
增删改查
ORM利用pymysql等第三方工具去连接数据库 默认:连接数据库用的是MySQLDB,需要修改为pymysql
Django连数据库连得是SQLlite是文件型数据库 需要修改的地方:
1.将MySQLdb修改为pymysql
2.把SQLlite改为mysql 步骤:
CMD:
django-admin startproject mysite6
cd mysite6
python manage.py startapp app01
python manage.py startapp app02
python manage.py startapp app03
一个project里面可以有多个app(一个app可以作为一个业务线)
1.创建数据库
2.DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME':'db6',
'USER': 'root',
'PASSWORD': '',
'HOST': 'localhost',
'PORT': 3306,
}
}
3.import pymysql
pymysql.install_as_MySQLdb()
4.在models中创建:
class UserInfo(models.Model):
nid=models.BigAutoField(primary_key=True)
username=models.CharField(max_length=32)
password=models.CharField(max_length=64)
5.注册app01
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app01'
]
6.创建数据表
Python manage.py makemigrations
python manage.py migrate 7.class UserGroup(models.Model):
'''
部门
'''
title=models.CharField(max_length=32) class UserInfo(models.Model):
'''
员工
'''
nid=models.BigAutoField(primary_key=True) #AutoField 自动字段,这里是自增字段相当于自增int类型
user=models.CharField(max_length=32)
password=models.CharField(max_length=64)
# age=models.IntegerField(null=True)
age=models.IntegerField(default=1)
ug=models.ForeignKey("UserGroup",null=True)
Django小范围傻瓜总结的更多相关文章
- Django+小程序技术打造微信小程序助手 ✌✌
Django+小程序技术打造微信小程序助手 (一个人学习或许会很枯燥,但是寻找更多志同道合的朋友一起,学习将会变得更加有意义✌✌) 从零到一的完整项目开发实战过程,项目开发聚焦重要知识点,先原理后实战 ...
- Django+小程序技术打造微信小程序助手
Django+小程序技术打造微信小程序助手 整个课程都看完了,当前这个课程的分享可以往下看,下面有某盘的链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,同时也分享下自己的总结 ...
- Django 小实例S1 简易学生选课管理系统 12 CSS样式完善
Django 小实例S1 简易学生选课管理系统 第12节--CSS样式完善 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 课程模块的逻辑代码到这里 ...
- Django 小实例S1 简易学生选课管理系统 11 学生课程业务实现
Django 小实例S1 简易学生选课管理系统 第11节--学生课程业务实现 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 课程模块中,学生需要拥 ...
- Django 小实例S1 简易学生选课管理系统 10 老师课程业务实现
Django 小实例S1 简易学生选课管理系统 第10节--老师课程业务实现 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 课程模块中,老师将要使 ...
- Django 小实例S1 简易学生选课管理系统 9 创建课程模型(model)
Django 小实例S1 简易学生选课管理系统 第9节--创建课程模型(model) 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 对于课程模块, ...
- Django 小实例S1 简易学生选课管理系统 8 CSS样式优化
Django 小实例S1 简易学生选课管理系统 第8节--CSS样式优化 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 前面的几节下来,用户模块基 ...
- Django 小实例S1 简易学生选课管理系统 7 修改个人信息
Django 小实例S1 简易学生选课管理系统 第7节--修改个人信息 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 用户模块除了注册登录之外,还 ...
- Django 小实例S1 简易学生选课管理系统 6 实现登录逻辑
Django 小实例S1 简易学生选课管理系统 第6节--实现登录逻辑 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 1 业务逻辑 本教程第四节里 ...
随机推荐
- NGINX详解
目录 1. 基础概念 1 2. 版本选择 1 3. 服务安装 1 4. 模块说明 1 5. 配置说明 1 5.1 目录结构 1 ...
- mac安装tensorflow
tensorflow简介 TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理.Tensor(张量)意味着N维数组,Flow(流)意味着基于数 ...
- 第八届蓝桥杯B组java第四题
标题:取数位 求1个整数的第k位数字有很多种方法.以下的方法就是一种.对于题目中的测试数据,应该打印5.请仔细分析源码,并补充划线部分所缺少的代码.注意:只提交缺失的代码,不要填写任何已有内容或说明性 ...
- 笔记:Hibernate 持久化类标注示例-双向1-N关系映射
1-N关系的1端持久化类 package org.drsoft.hibernate.model.oneToMany; import java.util.Date; import java.ut ...
- Android 使用shape定义不同控件的的颜色、背景色、边框色
Android 使用shape定义不同控件的的颜色.背景色.边框色 设置按钮的右边框和底边框颜色为红色,边框大小为3dp: 在drawable新建一个 buttonstyle.xml的文件,内容如下: ...
- 【Django】 初步学习
这个系列(或者成不了一个系列..)预计会全程参考Vamei様的Django系列,膜一发.说句题外话,其实更加崇拜像Vamei那样的能够玩转生活.各个领域都能取得不小成就的人. [Django] ■ 概 ...
- nginx配置防盗链
location ~* \.(gif|jpg|swf|flv|mp3|mp4|zip|rar)$ { root /home/soft; valid_referers *.qinyj.top downl ...
- 网络通信 --> CRC校验
CRC校验 一.什么是CRC校验 循环校验码(Jyclic Redundancy Check,简称CRC码): 是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意 ...
- 配置Hibernate的二级缓存
1.在applicationContex.xml文件里面添加二级缓存配置: <!-- 配置hibernate的sessionFactory --> <bean id="se ...
- vue-过渡动画
本篇资料参考于官方文档: http://cn.vuejs.org/guide/transitions.html 概述: Vue 在跳转页面时,提供多种不同方式的动画过渡效果. ●in-out:新元素先 ...