模板的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/">
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'