django学习的一些碎片化知识

来源:互联网 发布:php 网盘 程序 编辑:程序博客网 时间:2024/05/20 12:22

模板的for 标签:{ %  for article in articles %}

{% endfor %}

其中的第一个百分号必须紧跟前面的大括号,否则不能解析for 标签!


开发调试过程中:如果DEBUG=True, 但调试页面没反应,不报错,则很可能是模板出现了错误;

在模板文件.html中构建form表单,form表单有两个必须的参数:

example:<form action='url' method='POST'>

action:form表单POST数据到某个地址

method:一般有POST和GET ;

url所指定的方法里:req.POST.get('first','default) first参数表示模板表单中input的内容,第二个参数是个缺省值!

class.objects.order_by('id').all()方法能按主键顺序返回类的所有实例对象!

class.objects.order_by('-id').all()相同按反方向返回所有实例对象!


for=''标签的使用:

  

就是跟他下面的那个input的id内容一样。。

<lable for=“iphone”>苹果手机</lable>

<input type="password" id="iphone"/>

如果没有Lable标签的时候,你要输入密码,必须在password文本框里点一下,才能获得输入的许可(也就是获得焦点),有了Lable的话,你在“苹果手机”这四个汉字上点一下,光标也进入Passwors输入框,获得输入许可,也就是获得了焦点、

绑定上传的文件到表单

处理带有FileField 和ImageField 字段的表单比普通的表单要稍微复杂一点。

首先,为了上传文件,你需要确保你的<form> 元素正确定义enctype 为"multipart/form-data"

<form enctype="multipart/form-data" method="post" action="/foo/">
注意request.FILES只有在请求方法为POST,并且发送请求的<form>拥有enctype="multipart/form-data"属性时,才会包含数据。否则request.FILES为空。

django中filter()和get()两个函数的区别:

get得到的是一个model对象,filter得到的是一组model对象,类型是queryset,是一个django定义的,可迭代的,可以当作是一个list操作,每个索引都是一个model对象。 get如果满足的条件大于一个的时候,会报错 #有点类似于如下: get相当与fetchone() filter相当与fetchall()

repr()与str()的区别:

repr()返回对机器更友好的对象,str()返回对用户更友好的对象!

example:

class cc:
def __init__(self,name):
self.name = name
def __str__(self):
return self.name

c = cc('name')
>>> print(c)
name


class cc:
def __init__(self,name):
self.name = name
def __str__(self):
return repr(self.name)

c = cc('name')
>>> print(c)
'name'

0 0