Python Django view 两种return的实现方式


Posted in Python onMarch 16, 2020

1.使用render方法

return render(request,'index.html')

返回的页面内容是index.html的内容,但是url不变,还是原网页的url,(比如是login页面的返回方法,跳转后的url还是为login) 一刷新就返回去了

2.使用redirect方法

return redirect(request,'idnex.html')

直接跳转到index.html页面中,url为跳转后的页面url

补充知识:Django的View是如何工作的?

View (视图) 主要根据用户的请求返回数据,用来展示用户可以看到的内容(比如网页,图片),也可以用来处理用户提交的数据,比如保存到数据库中。Django的视图(View)通常和URL路由一起工作的。服务器在收到用户通过浏览器发来的请求后,会根据urls.py里的关系条目,去视图View里查找到与请求对应的处理方法,从而返回给客户端http页面数据。

当用户发来一个请求request时,我们通过HttpResponse打印出Hello, World!

# views.py
from django.http import HttpResponse

def index(request):
 return HttpResponse("Hello, World!")

下面一个新闻博客的例子。/blog/展示所有博客文章列表。/blog/article/<int:id>/展示一篇文章的详细内容。

# blog/urls.py
from django.urls import path

from . import views

urlpatterns = [
 path('blog/', views.index, name='index'),
 path('blog/article/<int:id>/', views.article_detail, name='article_detail'),
]


# blog/views.py
from django.shortcuts import render, get_object_or_404
from .models import Article


# 展示所有文章
def index(request):
 latest_articles = Article.objects.all().order_by('-pub_date')
 return render(request, 'blog/article_list.html', {"latest_articles": latest_articles})


# 展示所有文章
def article_detail(request, id):
 article = get_object_or_404(Article, pk=id)
 return render(request, 'blog/article_detail.html', {"article": article})

模板可以直接调用通过视图传递过来的内容。

# blog/article_list.html
{% block content %}
{% for article in latest_articles %}
  {{ article.title }}
  {{ article.pub_date }}
{% endfor %}
{% endblock %}

# blog/article_detail.html
{% block content %}
{{ article.title }}
{{ article.pub_date }}
{{ article.body }}
{% endblock %}

以上这篇Python Django view 两种return的实现方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中global用法实例分析
Apr 30 Python
Python使用smtplib模块发送电子邮件的流程详解
Jun 27 Python
django用户注册、登录、注销和用户扩展的示例
Mar 19 Python
Python实现去除列表中重复元素的方法小结【4种方法】
Apr 27 Python
浅析Python pandas模块输出每行中间省略号问题
Jul 03 Python
pandas的唯一值、值计数以及成员资格的示例
Jul 25 Python
python中的json总结
Oct 11 Python
Python实现RGB与HSI颜色空间的互换方式
Nov 27 Python
Pytorch根据layers的name冻结训练方式
Jan 06 Python
在python里创建一个任务(Task)实例
Apr 25 Python
Pytorch mask-rcnn 实现细节分享
Jun 24 Python
一篇文章教你用python画动态爱心表白
Nov 22 Python
Python 统计位数为偶数的数字代码详解
Mar 15 #Python
使用pygame编写Flappy bird小游戏
Mar 14 #Python
Python3.x+pyqtgraph实现数据可视化教程
Mar 14 #Python
浅谈selenium如何应对网页内容需要鼠标滚动加载的问题
Mar 14 #Python
Python实现鼠标自动在屏幕上随机移动功能
Mar 14 #Python
Python 读取WAV音频文件 画频谱的实例
Mar 14 #Python
Python2.7:使用Pyhook模块监听鼠标键盘事件-获取坐标实例
Mar 14 #Python
You might like
PHP 编程的 5个良好习惯
2009/02/20 PHP
php更新mysql后获取影响的行数发生异常解决方法
2013/03/28 PHP
PHP框架Swoole定时器Timer特性分析
2014/08/19 PHP
php给图片添加文字水印方法汇总
2015/08/27 PHP
ThinkPHP中调用PHPExcel的实现代码
2017/04/08 PHP
php数组遍历类与用法示例
2019/05/24 PHP
ExtJs事件机制基本代码模型和流程解析
2010/10/24 Javascript
一个javascript图片阅览组件
2010/11/09 Javascript
jQuery 回车事件enter使用示例
2014/02/18 Javascript
PHP 数组current和next用法分享
2015/03/05 Javascript
JavaScript中三种异步上传文件方式
2016/03/06 Javascript
JS中使用apply方法通过不同数量的参数调用函数的方法
2016/05/31 Javascript
javascript中Date对象的使用总结
2016/11/21 Javascript
Node.js数据库操作之连接MySQL数据库(一)
2017/03/04 Javascript
JS字符串统计操作示例【遍历,截取,输出,计算】
2017/03/27 Javascript
JS基于正则表达式的替换操作(replace)用法示例
2017/04/28 Javascript
Angular4项目中添加i18n国际化插件ngx-translate的步骤详解
2017/07/02 Javascript
JavaScript运行原理分析
2018/02/09 Javascript
解决VUEX兼容IE上的报错问题
2018/03/01 Javascript
Vue的props父传子的示例代码
2020/05/20 Javascript
JavaScript构造函数原理及实现流程解析
2020/11/19 Javascript
[56:38]DOTA2-DPC中国联赛正赛Aster vs Magma BO3 第一场 3月5日
2021/03/11 DOTA
python基础教程之基本内置数据类型介绍
2014/02/20 Python
使用Python编写一个简单的tic-tac-toe游戏的教程
2015/04/16 Python
pytorch torch.nn.AdaptiveAvgPool2d()自适应平均池化函数详解
2020/01/03 Python
python不使用for计算两组、多个矩形两两间的iou方式
2020/01/18 Python
PyTorch 中的傅里叶卷积实现示例
2020/12/11 Python
玩具反斗城葡萄牙官方商城:Toys"R"Us葡萄牙
2016/10/21 全球购物
计算机应用专业学生的自我评价分享
2013/11/03 职场文书
文化宣传方案
2014/03/13 职场文书
《理想的风筝》教学反思
2014/04/11 职场文书
公司外出活动方案
2014/08/14 职场文书
2014年仓管员工作总结
2014/11/18 职场文书
2014年公务员工作总结
2014/11/18 职场文书
2015年医院工作总结范文
2015/04/09 职场文书
2015年基层党建工作汇报材料
2015/06/25 职场文书