Django之视图与模板

在网页上经常要输入账号或者登陆密码之类的,这些信息有些是通过url中的参数传递给后台进行处理的
比如http://127.0.0.1:8001/add/?a=4&b=5。 这个链接传入a=4,b=5.后台将进行a+b的处理
新增处理函数
def add(request):

    a=request.GET['a']

    b=request.GET['b']

    return HttpResponse(str(int(a)+int(b)))
urlpatterns中添加url(r'add/',views.add),得到的链接如下

 
url也可以写成如下形式:http://127.0.0.1:8001/add/4/5 相应的处理函数改成如下。传递具体的参数给函数
def add(request,a,b):

    return HttpResponse(str(int(a)+int(b)))
 
模板:
在前面讲到函数可以直接到定向到templates中的网页。其实还可以参数给网页,然后在网页中显示出来
如下的home函数,传递一个string参数给index.html
def home(request):

    string=u"网页测试"

    return render(request,'index.html',{'string':string})
网页中添加{{string}}
<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title></title>

</head>

<body>

<h1 style="background-color:antiquewhite;color:black;<span lang="EN-US" style="" color:green;"="">"/>hello Django</h1>

{{ string }}

</body>

</html>
 
还可以传递列表给网页
def home(request):

    list=["HTML","java","python"]

    return render(request,'index.html',{'list':list})
网页中添加如下:
{% for i in list %}

{{ i }}

{% endfor %}

 
 
还可以传入字典:
def home(request):

    string=u"网页测试"

    list=["HTML","java","python"]

    info={'state':u'Django','Content':u'Django学习'}

    return render(request,'index.html',{'info':info})
{% for key,value in info.items %}

{{ key }}:{{ value }}

{% endfor %}

 
 
 
模板中还可以获取当前的网址以及用户。只要在settings.py中添加django.template.context_processors.request以及django.contrib.messages.context_processors.messages
{{ request.user }}

{{ request.path }}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿玩AI

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值