参考博客:
http://www.cnblogs.com/wupeiqi/articles/5237704.html

http://www.cnblogs.com/wupeiqi/articles/5246483.html

 s16day17

 上节内容回顾:

     路由系统:
. /index/ -> def index(request)
.
/detail-(\d+)/ -> def detail(request,nid)
/detail-(?P<nid>\d+)/ -> def detail(request,nid) .
/index/ -> def index(request) name=n1
使用别名生成URL:
模板语言: {% url n1 %} -> /index/
视图函数:
reverse(name="n1") -> /index/ . /web/ include("app01.urls")
视图函数:
. 函数至少一个参数
. request
request.method
request.GET
request.POST (请求头:Content-Type:application/x-www-form-urlencoded; charset=UTF-)
request.body
request.FILES
...
.
return HttpResponse(..)
return render()
return redirect() 模板引擎: . 基本语法 return renderI(request, 'xxx.html', {'v': [,,,],'d':{'k1':'v1','k2':'v2'} }) xxx.html
{{v.}} {% for i in d %}
{{i}} --> key
{% endfor %} {% for k,v in d.items %}
{{k}}--{{v}}
{% endfor %} . 函数 Django提供函数
simple_tag
filter ORM操作:
. 创建表 class UserInfo(models.Model):
# nid = models.AutoField(primary_key=True) int
# nid = models.BigAutoField(primary_key=True) long
name = models.CharField(max_length=)
pwd = models.CharField(max_length=) . 操作表 q = models.UserInfo.objects.all()
Queryset = [obj(id,name,pwd),obj(id,name,pwd),obj(id,name,pwd),] q = models.UserInfo.objects.values('name','pwd')
Queryset = [{"name":'alex','pwd':},{"name":'alex1','pwd':123sfd},{"name":'alex1','pwd':123sfd},] q = models.UserInfo.objects.values_list('name','pwd')
Queryset = [('alex',),('alex',),('alex',),('alex',),] q = models.UserInfo.objects.filter(name='alex')
[obj,] q = models.UserInfo.objects.get(name='alex')
q = models.UserInfo.objects.filter(name='alex').first() ... 今日内容: . FBV和CBV FBV: url(r'^index/', views.index), def index(request):
print('.....')
if request.method == 'GET':
pass
elif request.method == 'POST':
pass
return HttpResponse('....') CBV:
url(r'^user/', views.User.as_view()), class User(View):
def dispatch(self, request, *args, **kwargs):
print('before')
obj = super(User,self).dispatch(request, *args, **kwargs)
print('after')
return obj def get(self,request):
print("get...")
return HttpResponse('...') def post(self,request):
print("post...")
return HttpResponse('...') . ORM操作 a. 创建表
一对多
多对多
- 创建第三表:
- 自己定义第三张表 :列无限制
- ManyToManyField字段: 列限制(三)
- 无法直接,只能通过ManyToManyField字段进行间接操作 b. 操作
正向
dp
反向
userinfo
userinfo_set . Cookie
在浏览器上保存的简直对
应用:
可做用户登录
做投票
. session
服务器端保存的简直对
{
asdfasdfasdf: {'user':'asdf','pws':'asdf'} } . Ajax操作
# $.ajax({
url: '/aj/', # 提交地址
type: "POST", # 提交方式
data: {uuu: u, ppp:p}, # 提交数据
dataType: "JSON",
success:function (data) { # 回调函数,登录成功后自动执行
# 将字典形式的字符串,发序列化成为字典对象(json对象)
# var data_dict = JSON.parse(data); if(data_dict.status){
location.href = "/home/"
}else{
alert(data_dict.error);
}
}
})

课堂笔记

    作业: 主机管理

         . 主机表(FK),业务线表
. 用户表(M2M), 用户主机关系表
. 功能:
a. Ajax登录
b.
主机表(主机信息+业务线信息)
c. ***
当前用户管理的所有主机表(主机信息+业务线信息) d. 业务线管理(增、修改、删除)
- 对话框
- 新URL

作业

day17 Django学习三的更多相关文章

  1. django学习(三)

    1.单表操作和测试环境的准备 我们先对单表查询做一个总结和回顾,并进行进一步的学习和交流.我们在我们的应用的models.py文件下面书写user类.如下所示,然后用数据库迁移,在mysql数据库中生 ...

  2. Django学习(三) Django模型创建以及操作

    在Django中可以建立自己的模型Model,这里对应Java里的实体类,跟数据库表是对应的.其中用到了django.db模块中的models.如下图所示: mysite/news/models.py ...

  3. python+django学习三

    在这个网站看https://sshwsfc.github.io/xadmin/     xadmin结果一堆的坑,文档找不到界面,dome登陆就报错permission denied for rela ...

  4. Django学习笔记(三)—— 型号 model

    疯狂暑期学习 Django学习笔记(三)-- 型号 model 參考:<The Django Book> 第5章 1.setting.py 配置 DATABASES = { 'defaul ...

  5. Django基础学习三_路由系统

    今天主要来学习一下Django的路由系统,视频中只学了一些皮毛,但是也做下总结,主要分为静态路由.动态路由.二级路由 一.先来看下静态路由 1.需要在project中的urls文件中做配置,然后将匹配 ...

  6. Django 学习笔记(三)模板导入

    本章内容是将一个html网页放进模板中,并运行服务器将其展现出来. 平台:windows平台下Liunx子系统 目前的目录: hello ├── manage.py ├── hello │ ├── _ ...

  7. django 学习之DRF (三)

    Django学习之DRF-03 视图集    1.视图集介绍    2.视图集基本使⽤        1.需求 使⽤视图集获取列表数据和单⼀数据        2.实现 class BookInfoV ...

  8. Django 学习笔记之四 QuerySet常用方法

    QuerySet是一个可遍历结构,它本质上是一个给定的模型的对象列表,是有序的. 1.建立模型: 2.数据文件(test.txt) 3.文件数据入库(默认的sqlite3) 入库之前执行 数据库同步命 ...

  9. Python框架之Django学习

    当前标签: Django   Python框架之Django学习笔记(十四) 尛鱼 2014-10-12 13:55 阅读:173 评论:0     Python框架之Django学习笔记(十三) 尛 ...

随机推荐

  1. sidekiq-cron定时任务

    参考  时间格式 gem "sidekiq-cron", "~> 1.1" route.rb下添加 require 'sidekiq/cron/web', ...

  2. IOS开发如何入门

    说到 iOS 开发,自己学得也很浅.不过至少独立一人完成了一个应用的开发到项目上线整个过程.分享一下自己的建议和想法. 首先建议阅读 Start Developing iOS Apps Today,你 ...

  3. ipythons 使用攻略

    ipython是一个 python 的交互式 shell,比默认的 python shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数. 安 ...

  4. 20145230熊佳炜《网络对抗》实验八:WEB基础

    20145230熊佳炜<网络对抗>实验八:WEB基础 实验目标 Web前端HTML:能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTM ...

  5. 20145109 《Java程序设计》第九周学习总结

    JDBC 1 . DriverManager Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); 2 . ...

  6. linux中__weak关键字的作用

    答:1.可以重新定义同名函数或变量而编译时不报错

  7. Android 图形基础类Rect,扎实基础助腾飞

    转载请注明出处:王亟亟的大牛之路 上周把"垃圾桶动画写完了",然后这礼拜寻思着学习点啥,脑子闷逼了大半天,然后就找了点基础源码读读,把看的经历分享给大家. 先安利:https:// ...

  8. Docker pull网络错误

    [root@Oracle ~]# docker search centos Error response from daemon: Get https://index.docker.io/v1/sea ...

  9. Linux 动态链接库包含静态链接库的方法

    今天老司机们在讨论一个编译问题  A是一个静态库  C是一个动态库  B是运行程序,能不能将A打包到C 然后B只需要链接C 就可以了. 这个问题我以前在出来zlib库版本冲突的时候有点印象,所以写了个 ...

  10. LeetCode——Find Largest Value in Each Tree Row

    Question You need to find the largest value in each row of a binary tree. Example: Input: 1 / \ 3 2 ...