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字符转换
Sep 06 Python
python基础教程之类class定义使用方法
Feb 20 Python
Python实现Const详解
Jan 27 Python
Python pickle模块用法实例分析
May 27 Python
基于python批量处理dat文件及科学计算方法详解
May 08 Python
Python3实现的字典、列表和json对象互转功能示例
May 22 Python
Python @property使用方法解析
Sep 17 Python
Python日志logging模块功能与用法详解
Apr 09 Python
python实现批处理文件
Jul 28 Python
python中用ctypes模拟点击的实例讲解
Nov 26 Python
Python获取百度热搜的完整代码
Apr 07 Python
python代码实现扫码关注公众号登录的实战
Nov 01 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 微信开发获取用户信息如何实现
2016/12/13 PHP
PHP常用正则表达式精选(推荐)
2019/05/28 PHP
自己实现string的substring方法 人民币小写转大写,数字反转,正则优化
2012/09/02 Javascript
推荐10 个很棒的 jQuery 特效代码
2015/10/04 Javascript
JS获取中文拼音首字母并通过拼音首字母快速查找页面内对应中文内容的方法【附demo源码】
2016/08/19 Javascript
js改变透明度实现轮播图的算法
2020/08/24 Javascript
关于Vue.js一些问题和思考学习笔记(2)
2016/12/02 Javascript
AngularJS实现自定义指令及指令配置项的方法
2017/11/20 Javascript
详解Angularjs 自定义指令中的数据绑定
2018/07/19 Javascript
JS匿名函数内部this指向问题详析
2019/05/10 Javascript
详解Element-UI中上传的文件前端处理
2019/08/07 Javascript
微信小程序项目总结之记账小程序功能的实现(包括后端)
2019/08/20 Javascript
vue实现购物车小案例
2019/09/27 Javascript
js实现从右往左匀速显示图片(无缝轮播)
2020/06/29 Javascript
[01:36]DOTA2完美大师赛趣味视频之与队友相处的十万个技巧
2017/11/19 DOTA
python 中文乱码问题深入分析
2011/03/13 Python
python用户管理系统
2018/03/13 Python
Python3.5 处理文本txt,删除不需要的行方法
2018/12/10 Python
python 运用Django 开发后台接口的实例
2018/12/11 Python
扩展Django admin的list_filter()可使用范围方法
2019/08/21 Python
Python数据分析模块pandas用法详解
2019/09/04 Python
解决python-docx打包之后找不到default.docx的问题
2020/02/13 Python
Python调用C/C++的方法解析
2020/08/05 Python
python两个list[]相加的实现方法
2020/09/23 Python
关于CSS Tooltips(鼠标经过时显示)的效果
2013/04/10 HTML / CSS
美国餐厅用品和厨房设备批发网站:KaTom Restaurant Supply
2018/01/27 全球购物
俄罗斯电动工具和设备购物网站:Vseinstrumenti.ru
2020/11/12 全球购物
生产内勤岗位职责
2013/12/07 职场文书
社会学专业学生职业规划书
2014/02/07 职场文书
竞选部门副经理的自荐书范文
2014/02/11 职场文书
经贸韩语专业大学生职业规划
2014/02/14 职场文书
小学优秀班主任事迹材料
2014/05/17 职场文书
上班迟到检讨书300字
2014/10/18 职场文书
车间质检员岗位职责
2015/04/08 职场文书
学习雷锋精神倡议书
2015/04/27 职场文书
python+pytest接口自动化之token关联登录的实现
2022/04/06 Python