1,Django请求的生命周期
路由系统-视图函数(获取模板+数据->渲染)->字符串返回给用户
2,路由系统
/index/ 函数或类.as_view()
/detail(\d+)/ 函数或类.as_view()
/detail(?P<nid>\d+)/ 函数或类.as_view()(参数)
/detail/ 路由分发include("app01.urls")
/detail/ name='a1' 路由分发include("app01.urls")
视图中:reverse
模板中:{% url "a1"%}
3,视图
FBV:函数 def index(request,*args,**kwargs):
CBV:类 class Home(views.view):
def get(self,request,"args"):
dispatch
获取用户请求中的数据
request.method
request.POST.get
request.GET.get
request.FILES.get
#checkbox,
request.......getlist()
request.path_info 文件对象=request.FILES.get()
文件对象.name
文件对象.size
文件对象.chunks() <form 特殊的设置></form> 给用户返回数据:
HttpResponse
render(request,'index.html模板文件的路径',{'user':user})
redirect("url")
4,模板语言:
render(request,"模板文件的路径",{'obj':1234,'k1':[1,2,3,4],"k2":{'name':'张扬','age':73}) {{obj}} 1234
{{k1.3}}----4
{{k2.name}}----张扬
{% for i in k1 %}
<p> {{i}} </p>
{% endfor %} {% for k in k2.keys %}
<p> {{k}} </p>
{% endfor %} {% for v in k2.values %}
<p> {{row}} </p>
{% endfor %} {% for k,v in k2.items %}
<p> {{k}}-{{v}} </p>
{% endfor %} 5,ORM
a.创建类和字段
class User(models.Model)
uid=models.IntegerField()
name=models.CharField(max_length=12) #字符长度
python manage.py makemigrations
python manage.py migrate #settings.py中注册APP
b.操作,注意字典的操作
增:models.User.objects.create(name='Alex',age=18)
dic={'name':'xx','age':19}
models.User.objects.create(**dic) obj=models.User(name='Jack',age=18)
obj.save() 删:models.User.objects.filter(id=12).delete() 改:models.User.objects.filter(id__gt=1).update(name='Jack')
dic={'name':'xx','age':19}
models.User.objects.filter(id__gt=1).update(**dic) 查:models.User.objects.filter(uid=12)
models.User.objects.filter(uid__gt=12 大于
models.User.objects.filter(uid__lt=12) 小于
models.User.objects.filter(uid__gte=12) 大于等于
models.User.objects.filter(uid__lte=12) 小于等于 dic={'name':'xx','age':19}
models.User.objects.filter(**dic)
6,外键操作
class UserType(models.Model)
caption=models.CharField(max_length=32) #1,普通
#2,VIP用户
#3,游客 class User(models.Model)
uid=models.IntegerField()
name=models.CharField(max_length=12) #字符长度
user_type_id=models.IntergerField() #此时的数值大小没有约束
user_type=models.ForeignKey("UserType",to_field='id') #约束
name age user_type_id
#张扬 18 1
#李四 20 2

最新文章

  1. CURL HELP
  2. iOS 隐藏自定义tabbar
  3. 软媒魔方 v6.2.1.0 绿色纯净版及经典版
  4. oracle 修改密码
  5. CSS3入门--线条动画特效实例
  6. UML大战需求分析阅读笔记2
  7. document对象补充
  8. UIkit框架之uUInavigationController
  9. JS函数arguments数组获得实际传参数个数
  10. As3 计算两个日期之间的天数差
  11. 【学习笔记】【C语言】逗号运算符
  12. Android Studio:libpng warning: iCCP: Not recognizing known sRGB profile that has been edited解决办法
  13. [LeetCode]题解(python):029-Divide Two Integers
  14. Kqueue与epoll机制
  15. 字符串查找KMP算法(转)
  16. linux jdk环境变量
  17. Java之戳中痛点 - (6)避免类型自动转换,例如两个整数相除得浮点数遇坑
  18. 移动WEB 响应式设计 @media总结
  19. C语言Linix服务器网络爬虫项目(一)项目初衷和网络爬虫概述
  20. js-day03-事件响应和练习题

热门文章

  1. 使用Python进行分布式系统协调 (ZooKeeper/Consul/etcd)
  2. unity图形圆形展开
  3. [ASP.NET Core] 建置x86版本 (workaround)
  4. 现有新的iOS更新可用,请从iOS12 beta版进行更新.解决方案
  5. DataRow的RowState属性变化
  6. day02——作业讲解
  7. 阿里IPO法律咨询费达1580万美元 为Facebook六倍
  8. 选题博客:北航iCourse课程信息平台
  9. Scrum立会报告+燃尽图(十一月十九日总第二十七次):功能开发与修复上一阶段bug
  10. 20181120-6 Beta阶段第2周/共2周 Scrum立会报告+燃尽图 03