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实现simhash算法实例
Apr 25 Python
python pycurl验证basic和digest认证的方法
May 02 Python
Python实现的特征提取操作示例
Dec 03 Python
python 批量解压压缩文件的实例代码
Jun 27 Python
Python如何计算语句执行时间
Nov 22 Python
在pytorch中实现只让指定变量向后传播梯度
Feb 29 Python
django处理select下拉表单实例(从model到前端到post到form)
Mar 13 Python
基于python 凸包问题的解决
Apr 16 Python
Python爬虫如何应对Cloudflare邮箱加密
Jun 24 Python
Python的控制结构之For、While、If循环问题
Jun 30 Python
如何解决cmd运行python提示不是内部命令
Jul 01 Python
Python 解析xml文件的示例
Sep 29 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
DISCUZ 论坛管理员密码忘记的解决方法
2009/05/14 PHP
PHP设计模式之结构模式的深入解析
2013/06/13 PHP
php根据日期显示所在星座的方法
2015/07/13 PHP
PHP获取redis里不存在的6位随机数应用示例【设置24小时过时】
2017/06/07 PHP
laravel 去掉index.php伪静态的操作方法
2019/10/12 PHP
PHP保存Base64图片base64_decode的问题整理
2019/11/04 PHP
修改发贴的编辑功能
2007/03/07 Javascript
基于Jquery的仿Windows Aero弹出窗(漂亮的关闭按钮)
2010/09/28 Javascript
range 标准化之获取
2011/08/28 Javascript
JS实现的自定义显示加载等待图片插件(loading.gif)
2016/06/17 Javascript
BootStrap3中模态对话框的使用
2017/01/06 Javascript
Node.js通过身份证号验证年龄、出生日期与性别方法示例
2017/03/09 Javascript
HTML5实现微信拍摄上传照片功能
2017/04/21 Javascript
nodejs利用ajax实现网页无刷新上传图片实例代码
2017/06/06 NodeJs
jquery判断滚动条距离顶部的距离方法
2018/09/05 jQuery
vant自定义二级菜单操作
2020/11/02 Javascript
Vue向后台传数组数据,springboot接收vue传的数组数据实例
2020/11/12 Javascript
Vue 数据绑定的原理分析
2020/11/16 Javascript
[48:29]2018DOTA2亚洲邀请赛3月30日 小组赛A组 LGD VS KG
2018/03/31 DOTA
用python实现简单EXCEL数据统计的实例
2017/01/24 Python
python 中的int()函数怎么用
2017/10/17 Python
python实现UDP协议下的文件传输
2020/03/20 Python
HTML5移动开发图片压缩上传功能
2016/11/09 HTML / CSS
加拿大女包品牌:Matt & Nat
2017/05/12 全球购物
诺心蛋糕官网:LE CAKE
2018/08/25 全球购物
美津浓巴西官方网站:Mizuno巴西
2019/07/24 全球购物
大学生求职自荐信
2013/12/12 职场文书
公益活动邀请函
2014/02/05 职场文书
高级工程师英文求职信
2014/03/19 职场文书
优秀毕业生就业推荐信
2014/05/22 职场文书
就业协议书样本
2014/08/20 职场文书
自主招生学校推荐信
2014/09/26 职场文书
幼儿园园长工作总结2015
2015/05/25 职场文书
2015年计算机教师工作总结
2015/07/22 职场文书
汽车车尾标语大全
2015/08/11 职场文书
大学生自我鉴定怎么写
2019/05/07 职场文书