zoukankan      html  css  js  c++  java
  • Day19内容回顾

    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
    
  • 相关阅读:
    201623班《程序设计与数据结构》-第七周作业问题总结
    201623班《程序设计与数据结构》-第六周作业问题总结
    201623班《程序设计与数据结构》-第五周作业问题总结
    201623班《程序设计与数据结构》-第四周作业问题总结
    【不定期更新】201623班级代码量排行
    201623班《程序设计与数据结构》-第二和第三周作业问题总结
    【西北师大-20软工】第一次作业成绩汇总
    关于我和助教
    关于软件工程课程
    2019 SDN上机第4次作业
  • 原文地址:https://www.cnblogs.com/momo8238/p/7601744.html
Copyright © 2011-2022 走看看