博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
3、django视图的响应和模板的继承
阅读量:5121 次
发布时间:2019-06-13

本文共 1114 字,大约阅读时间需要 3 分钟。

1、django视图的响应

  在view中。response有三种方式

  1、HttpResponse:返回字符串---不常用

  2、redirect:重定向---特定场景使用

    return redirect(‘/index/’)  

  3、render:可返回页面+参数---最常用

    render如果带参数,则会首先读取html文件,其次渲染变量参数。

def index(request):    list = ['苹果', '香蕉', '萝卜']    return render(request, 'index.html', {
"sp": list})

    如上:views文件中index函数不仅返回了一个html,还带了一个list。

hello world

商品列表

    {% for foo in sp %}
  • {
    { foo }}
  • {% endfor %}

    然后在html中使用for循环取值,并展示。

    {

{}}:表示渲染变量

    {%%}:表示渲染标签。

    当然这里不仅可以循环取值。还可以做一些简单判断的。(个人觉得用处不大。逻辑还是放在views处理比较好)

    展示效果如下:

    

 

 

 

2、django模板的继承

  在一般的网站中,很多不同页面很多地方都是一致的。如顶部导航栏,侧边导航栏,底部等等。这些地方我们没有必要每次都去写一份一摸一样

  的代码。django可以继承模版。

   如上图。一个简单的首页。分为顶部,侧边导航栏和右边内容区域。假设需求是订单和商品列表仅变动右边内容区域顶部导航栏和侧边导航栏不变。

  1、首先写一个母版,新增一个base。所有不用变动的区域代码copy进去,需要变动的用盒子装起来。代码截图如下:

  

 

 

   2、base页面效果如下:

  

 

 

   3、至于首页、订单、商品列表三个界面,则不需要再写重复的代码。只需要继承base的代码和重写block content里面的代码即可:首页如下

  

 

   也可以达到跟之前一样的效果。

  注:发送请求的几个方式。

    1、游览器发送get请求

    2、form表单提交get或者post请求

    3、a标签发送get请求

    4、ajax发送各种请求    

  

转载于:https://www.cnblogs.com/cbslock/p/11533623.html

你可能感兴趣的文章
【iOS越狱开发】如何将应用打包成.ipa文件
查看>>
[NOIP2013提高组] CODEVS 3287 火车运输(MST+LCA)
查看>>
Yii2 Lesson - 03 Forms in Yii
查看>>
Python IO模型
查看>>
Ugly Windows
查看>>
DataGridView的行的字体颜色变化
查看>>
Java再学习——关于ConcurrentHashMap
查看>>
如何处理Win10电脑黑屏后出现代码0xc0000225的错误?
查看>>
局域网内手机访问电脑网站注意几点
查看>>
[Serializable]的应用--注册码的生成,加密和验证
查看>>
Day19内容回顾
查看>>
第七次作业
查看>>
SpringBoot项目打包
查看>>
Linux操作系统 和 Windows操作系统 的区别
查看>>
《QQ欢乐斗地主》山寨版
查看>>
文件流的使用以及序列化和反序列化的方法使用
查看>>
Android-多线程AsyncTask
查看>>
第一个Spring冲刺周期团队进展报告
查看>>
红黑树 c++ 实现
查看>>
Android 获取网络链接类型
查看>>