django配置三(html及从表单拿到数据的配置)
2019-02-21 本文已影响24人
_narcissus
- 图片的加载方法:
-
需要在head中添加
{% load staticfiles %}
-
修改图片img标签
<img src="{% static '1.jpg'%}">
如果是背景图片,则需要直接在图片img标签前面加入 {% load staticfiles %}
-
- 从网页获取数据的方法:
- a.在views.py中写一个得到数据的方法(在html的form表单中的name属性拿值)。通过对象.save()方法自动生成mysql语句进行数据存储
- b.在子项目的urls.py中配置views.py中方法的路径
- c.在html文件中配置form表单,填写action地址,添加保护机制代码 {% csrf_token %}
- d.form传值的方式:
post 隐式传值
get 显示传值
- 一些概念
- render 渲染
redirect 重定向 - render可以以字典的方式传值,不能转向url。如果给页面传值,值只会在跳转后的那个页面有效
redirect 不能传值,转url - session 会话 服务器存储资源空间
时间上:有时间限制
空间上:在浏览器未关闭时有效,在所有页面数据都有效
- render 渲染
- 怎么从数据库取值:
Userinfo.objects.filter() #过滤取出满足条件的一个集合
infos=Userinfo.objects.all() #取出所有数据的一个集合
eg:
existemail=Userinfo.objects.filter(email=user.email,password=passwd) #得到一个email=user.email同时password=passwd的set集合
if len(existemail)>0: #通过set集合长度来判断是否已经存在
return render(request,'find.html',{'msg':'exist'}) #如果大于0,则此email已经存在,不能重复注册,所以重新渲染此页面并给出错误提示
else:
..........
infos=Userinfo.objects.all()
flag=1
for i in infos:
if uinfo==i.email or uinfo==i.mobile and passwd==i.password:
return redirect('/file/index')
flag=0
if flag==1:
return render(request,'signin.html')
-
html中的条件判断:
{% if } ..... {% else %} ..... {% endif %}