django基础复习
Django
- 路由系统 url.py
- 视图函数 views.py
- 数据库操作 models.py
- 模板引擎渲染
- HttpReponse(字符串)
- render(request,'/path/a.html',{'name':'root'}) 一、示例:用户基本CURD
1.数据库设计
id hostname ip port status
2.功能的实现
预备:
创建project django-admin startproject mysite
创建app cd mysite
python manage.py startapp app01
配置模板路径 settings.py
TEMPLATE
DIRS: [os.path.join(BASE_DIR,'templates'),]
配置静态文件 settings.py
STATICFILES_DIRS = (
os.path.join(BASE_DIR,'static'),
) 二、路由系统 urls.py
a. /^servers$ -> servers
b. url(r'^edit_user_new-(?P<nnid>\d+).html$', views.edit_user_new),
c. url(r'^edit_user_new-(\d+).html$', views.edit_user_new,name='bbb'),
{% url "bbb" 1 %} ==> edit_user_new-1.html
d. url(r'^edit_user_new-(?P<nnid>\d+).html$', views.edit_user_new, name='nnn'),
{% url "nnn" nnid=1 %} ==> edit_user_new-1.html
e.
主urls.py
url(r'^cmdb/', include('app01.urls')),
url(r'^config/', include('app02.urls')),
app01 urls.py
...
app02 urls.py
... 三、视图函数 views.py
获取请求信息:
request.POST {'username':'root'..}
request.GET
request.FILES
request.method
request.body = username=root;age=18;gender=male 响应结果:
return HttpReponse(..)
return render(request,'path/a.html',{})
return redirect('http://www.baidu.com') 四、Django数据库操作 1. 类 --> 数据库的表
字段 --> 列
对象 --> 一行数据
class UserInfo(models.Model):
nid = models.AutoField(primary_key=True)
username = models.CharField(max_length=32)
pwd = models.CharField(max_length=64)
age = models.IntegerField() 2. 根据app的models.py生成数据库表
python manage.py makemigrations
python manage.py migrate PS: settings注册app名字
注意:
MySQL
- 手动创建库名
- settings.py 中配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME':'dbname',
'USER': 'root',
'PASSWORD': 'xxx',
'HOST': '',
'PORT': '',
}
}
- Django默认链接MySQL:
- MySqlDB
- pymysql
在配置目录的init.py中:
import pymysql
pymysql.install_as_MySQLdb() 3. 数据库基本操作
a. 查
models.tb.objects.all()
models.tb.objects.filter(nid=1)
models.tb.objects.filter(nid=1).first() b. 增
models.tb.objects.create(...) obj = models.tb(...)
obj.save()
c. 删
models.tb.objects.all().delete()
models.tb.objects.filter(nid=1).delete()
d. 改
models.tb.objects.all().update(...)
models.tb.objects.filter(nid=1).update(...) 五、模板引擎 特殊规则:
- 1
{{k1}} - 2
{% if a == 123 %} {% else %} {% endif %} - 3
{% for item in LIST %}
{{item}}
{% endfor %}
- 4
# 索引:字典.k1 列表.1 - 5.自定义模板方法
- filter: 在if条件中做条件时
- simple_tag: 在页面仅显示内容时 - 6. extends
- 模板的继承 - 7. include
- 导入公共组件 六、Cookie - 是用户浏览器上的一个键值对
- 设置超时时间 利用cookie可实现:
- 登录验证
- 页面显示条数
- 拖动位置.. 两大忌讳:
- 敏感信息
- 简单
七、Session
- 放置在服务器端的键值对 session = {
'asdfasdfasd': {'username':'hailong'},
'asdfasdfasdf': {username:'feinikesi'},
}
django基础复习的更多相关文章
- 《CSS权威指南》基础复习+查漏补缺
前几天被朋友问到几个CSS问题,讲道理么,接触CSS是从大一开始的,也算有3年半了,总是觉得自己对css算是熟悉的了.然而还是被几个问题弄的"一脸懵逼"... 然后又是刚入职新公司 ...
- Python之路-(js正则表达式、前端页面的模板套用、Django基础)
js正则表达式 前端页面的模板套用 Django基础 js正则表达式: 1.定义正则表达式 /.../ 用于定义正则表达式 /.../g 表示全局匹配 /.../i 表示不区分大小写 /.../m ...
- Java基础复习笔记系列 九 网络编程
Java基础复习笔记系列之 网络编程 学习资料参考: 1.http://www.icoolxue.com/ 2. 1.网络编程的基础概念. TCP/IP协议:Socket编程:IP地址. 中国和美国之 ...
- Java基础复习笔记系列 八 多线程编程
Java基础复习笔记系列之 多线程编程 参考地址: http://blog.csdn.net/xuweilinjijis/article/details/8878649 今天的故事,让我们从上面这个图 ...
- Java基础复习笔记系列 七 IO操作
Java基础复习笔记系列之 IO操作 我们说的出入,都是站在程序的角度来说的.FileInputStream是读入数据.?????? 1.流是什么东西? 这章的理解的关键是:形象思维.一个管道插入了一 ...
- Java基础复习笔记系列 五 常用类
Java基础复习笔记系列之 常用类 1.String类介绍. 首先看类所属的包:java.lang.String类. 再看它的构造方法: 2. String s1 = “hello”: String ...
- Java基础复习笔记系列 四 数组
Java基础复习笔记系列之 数组 1.数组初步介绍? Java中的数组是引用类型,不可以直接分配在栈上.不同于C(在Java中,除了基础数据类型外,所有的类型都是引用类型.) Java中的数组在申明时 ...
- Django 基础教程
Django 基础教程 这是第一篇 Django 简介 » Django 是由 Python 开发的一个免费的开源网站框架,可以用于快速搭建高性能,优雅的网站! 你一定可以学会,Django 很简单 ...
- C语言基础复习总结
C语言基础复习总结 大一学的C++,不过后来一直没用,大多还给老师了,最近看传智李明杰老师的ios课程的C语言入门部分,用了一周,每晚上看大概两小时左右,效果真是顶一学期的课,也许是因为有开发经验吧, ...
随机推荐
- 免费的.NET混淆和反编译工具
免费的.NET代码混淆工具: Eazfuscator.NET http://www.foss.kharkov.ua/g1/projects/eazfuscator/dotnet/Default.as ...
- 七 oracle 表查询二
1.使用逻辑操作符号问题:查询工资高于500或者是岗位为manager的雇员,同时还要满足他们的姓名首字母为大写的J?select * from emp where (sal > 500 or ...
- 转:使用python的Flask实现一个RESTful API服务器端
提示:可以学习一下flask框架中对于密码进行校验的部分.封装了太多操作. 最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了 ...
- CodeForces 797D Broken BST
$dfs$,线段树. 通过观察可以发现,某位置要能被找到,和他到根这条路上的每个节点的权值存在密切的联系,且是父节点的左儿子还是右儿子也有联系. 可以从根开始$dfs$,边走边更新线段树,如果遍历左儿 ...
- Docker入门到实战
1.系统要求 Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10. CentOS 7满足最低内核的要求,但由于内核版本比较低,部分功能(如 overlay2 存 ...
- 计算机二级C考试有感
细节细节细节,细节决定成败,记不熟的玩意就是知识点的漏洞. 总结一下这次考试我没有掌握好的知识点. 1,sizeof() sizeof() 是计算具体所占的空间大小 char[7]就是7 int[7] ...
- TRUNCATE delete
The operation cannot be rolled back. DROP and TRUNCATE are DDL commands, whereas DELETE is a DML com ...
- Unity 游戏开发技巧集锦之创建部分光滑部分粗糙的材质
Unity 游戏开发技巧集锦之创建部分光滑部分粗糙的材质 创建部分光滑部分粗糙的材质 生活中,有类物体的表面既有光滑的部分,又有粗糙的部分,例如丽江的石板路,如图3-17所示,石板的表面本来是粗糙的, ...
- functools.wraps 带参数的装饰器 多个装饰器装饰同一个函数
装饰器开发原则 : 开放封闭原则装饰器的作用 :在不改变原函数的调用方式的情况下,在函数的前后添加功能装饰器的本质 : 闭包函数 def wrapper(func): def inner(*args, ...
- redis_NoSql入门概述数据模型简介
以下面的背景去对比关系型数据库和非关系型数据库的差异(一个电商客户.订单.订购.地址模型来对比以下关系型数据库和非关系型数据库) 传统数据库一般设计会使用ER图(1:1/1:N/N:N,主键等) 而N ...