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连接MySQL、MongoDB、Redis、memcache等数据库的方法
Nov 15 Python
纯Python开发的nosql数据库CodernityDB介绍和使用实例
Oct 23 Python
Python读取指定目录下指定后缀文件并保存为docx
Apr 23 Python
Python实现爬取需要登录的网站完整示例
Aug 19 Python
解决python读取几千万行的大表内存问题
Jun 26 Python
Django logging配置及使用详解
Jul 23 Python
Python操作MySQL数据库实例详解【安装、连接、增删改查等】
Jan 17 Python
Python要求O(n)复杂度求无序列表中第K的大元素实例
Apr 02 Python
django rest framework使用django-filter用法
Jul 15 Python
Python编写memcached启动脚本代码实例
Aug 14 Python
详解pycharm连接远程linux服务器的虚拟环境的方法
Nov 13 Python
python scipy 稀疏矩阵的使用说明
May 26 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
SONY ICF-SW55的电路分析
2021/03/02 无线电
php使用百度ping服务代码实例
2014/06/19 PHP
php防止网站被刷新的方法汇总
2014/12/01 PHP
PHP基于文件存储实现缓存的方法
2015/07/20 PHP
Yii开启片段缓存的方法
2016/03/28 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
2020/02/27 PHP
PHP实现获取文件mime类型多种方法解析
2020/05/28 PHP
通用javascript脚本函数库 方便开发
2009/10/13 Javascript
JS连连看源码完美注释版(推荐)
2013/12/09 Javascript
js交换排序 冒泡排序算法(Javascript版)
2014/10/04 Javascript
jQuery实现带分组数据的Table表头排序实例分析
2015/11/24 Javascript
原生js仿jquery animate动画效果
2016/07/13 Javascript
ionic组件ion-tabs选项卡切换效果实例
2016/08/27 Javascript
jQuery Ajax实现跨域请求
2017/01/21 Javascript
JavaScript之事件委托实例(附原生js和jQuery代码)
2017/07/22 jQuery
Nodejs 和Session 原理及实战技巧小结
2017/08/25 NodeJs
Angular路由ui-router配置详解
2018/08/01 Javascript
JavaScript 斐波那契数列 倒序输出 输出100以内的质数代码实例
2019/09/11 Javascript
JS中队列和双端队列实现及应用详解
2020/09/29 Javascript
node.js如何操作MySQL数据库
2020/10/29 Javascript
[03:41]2018完美盛典-《Fight With Us》
2018/12/16 DOTA
[01:23:45]DOTA2-DPC中国联赛 正赛 CDEC vs Dragon BO3 第一场 1月22日
2021/03/11 DOTA
Python+MongoDB自增键值的简单实现
2016/11/04 Python
win7上python2.7连接mysql数据库的方法
2017/01/14 Python
Python爬虫实现(伪)球迷速成
2018/06/10 Python
Django框架使用富文本编辑器Uedit的方法分析
2018/07/31 Python
基于Python实现简单学生管理系统
2020/07/24 Python
一波HTML5 Canvas基础绘图实例代码集合
2016/02/28 HTML / CSS
Alba Moda瑞士网上商店:独家意大利时尚女装销售
2016/11/28 全球购物
公司薪酬管理制度
2014/01/31 职场文书
《孔子游春》教学反思
2014/02/25 职场文书
祖国在我心中演讲稿450字
2014/09/05 职场文书
2014年销售工作总结范文
2014/12/01 职场文书
2015年出纳个人工作总结
2015/04/02 职场文书
机修车间主任岗位职责
2015/04/08 职场文书
道歉短信大全
2015/05/12 职场文书