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在命令行下使用google翻译(带语音)
Jan 16 Python
Python中Collection的使用小技巧
Aug 18 Python
python进阶教程之动态类型详解
Aug 30 Python
Python序列之list和tuple常用方法以及注意事项
Jan 09 Python
python通过字典dict判断指定键值是否存在的方法
Mar 21 Python
Python selenium 三种等待方式解读
Sep 15 Python
Python自动生产表情包
Mar 17 Python
python的pdb调试命令的命令整理及实例
Jul 12 Python
15行Python代码带你轻松理解令牌桶算法
Mar 21 Python
pandas DataFrame创建方法的方式
Aug 02 Python
Django Admin中增加导出Excel功能过程解析
Sep 04 Python
Python自动化爬取天眼查数据的实现
Jun 15 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
一些操作和快捷键的理解和讨论
2020/03/04 星际争霸
PHP 程序员也要学会使用“异常”
2009/06/16 PHP
PHP 冒泡排序算法的实现代码
2010/08/08 PHP
php实现的CSS更新类实例
2014/09/22 PHP
JavaScript实现删除电脑的关机键
2016/07/26 PHP
YII2框架中使用yii.js实现的post请求
2017/04/09 PHP
javascript基于jQuery的表格悬停变色/恢复,表格点击变色/恢复,点击行选Checkbox
2008/08/05 Javascript
ExtJS 下拉多选框lovcombo
2010/05/19 Javascript
jQuery写的日历(包括日历的样式及功能)
2013/04/23 Javascript
JavaScript自定义数组排序方法
2015/02/12 Javascript
浅析JavaScript访问对象属性和方法及区别
2015/11/16 Javascript
详解JavaScript基本类型和引用类型
2015/12/09 Javascript
谈谈我对JavaScript中typeof和instanceof的深入理解
2015/12/25 Javascript
jQuery实现jQuery-form.js实现异步上传文件
2017/04/28 jQuery
Bootstrap Table使用整理(二)
2017/06/09 Javascript
浅谈webpack打包过程中因为图片的路径导致的问题
2018/02/21 Javascript
详解Immutable及 React 中实践
2018/03/01 Javascript
Vue使用zTree插件封装树组件操作示例
2019/04/25 Javascript
如何用webpack4.0撸单页/多页脚手架 (jquery, react, vue, typescript)
2019/06/18 jQuery
在Vue中实现随hash改变响应菜单高亮
2020/03/09 Javascript
详解在Python的Django框架中创建模板库的方法
2015/07/20 Python
Python中pillow知识点学习
2018/04/30 Python
python使用matplotlib画饼状图
2018/09/25 Python
Pycharm无法显示动态图片的解决方法
2018/10/28 Python
python requests post多层字典的方法
2018/12/27 Python
Python格式化字符串f-string概览(小结)
2019/06/18 Python
一篇文章弄懂Python中所有数组数据类型
2019/06/23 Python
解决python中导入win32com.client出错的问题
2019/07/26 Python
基于CSS3制作立体效果导航菜单
2016/01/12 HTML / CSS
迪拜航空官方网站:flydubai
2017/04/20 全球购物
Superdry极度干燥美国官网:英国制造的服装品牌
2018/11/13 全球购物
Vinatis德国:法国领先的葡萄酒邮购公司
2020/09/07 全球购物
技校毕业生的自我评价
2013/12/27 职场文书
导游个人求职信
2014/04/25 职场文书
春节晚会开场白
2015/05/29 职场文书
公司员工宿舍管理制度
2015/08/03 职场文书