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实现网站文件的全备份和差异备份
Nov 30 Python
python中随机函数random用法实例
Apr 30 Python
pymongo实现多结果进行多列排序的方法
May 16 Python
Python中关键字nonlocal和global的声明与解析
Mar 12 Python
Python正则简单实例分析
Mar 21 Python
Python实现对象转换为xml的方法示例
Jun 08 Python
Python+matplotlib实现计算两个信号的交叉谱密度实例
Jan 08 Python
Python实现输出某区间范围内全部素数的方法
May 02 Python
基于python中theano库的线性回归
Aug 31 Python
python实现简单加密解密机制
Mar 19 Python
简单了解Django应用app及分布式路由
Jul 24 Python
Python API len函数操作过程解析
Mar 05 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 session和cookie使用说明
2010/04/07 PHP
第三章 php操作符与控制结构代码
2011/12/30 PHP
php从数据库查询结果生成树形列表的方法
2015/04/17 PHP
浏览器脚本兼容 文本框中,回车键触发事件的兼容
2010/06/21 Javascript
jquery根据锚点offset值实现动画切换
2014/09/11 Javascript
jQuery实现鼠标经过购物车出现下拉框代码(推荐)
2016/07/21 Javascript
JavaScript操作文件_动力节点Java学院整理
2017/06/30 Javascript
详解vue 组件之间使用eventbus传值
2017/10/25 Javascript
关于redux-saga中take使用方法详解
2018/02/27 Javascript
对angular4子路由&amp;辅助路由详解
2018/10/09 Javascript
vue webpack重写cookie路径的方法
2019/07/10 Javascript
Postman环境变量全局变量使用方法详解
2020/08/13 Javascript
vue从后台渲染文章列表以及根据id跳转文章详情详解
2020/12/14 Vue.js
[00:37]DOTA2上海特级锦标赛 Secert 战队宣传片
2016/03/03 DOTA
Python 字典(Dictionary)操作详解
2014/03/11 Python
跟老齐学Python之开始真正编程
2014/09/12 Python
Python魔术方法详解
2015/02/14 Python
探究Python中isalnum()方法的使用
2015/05/18 Python
浅谈python类属性的访问、设置和删除方法
2016/07/25 Python
Python3 pip3 list 出现 DEPRECATION 警告的解决方法
2019/02/16 Python
Django模型修改及数据迁移实现解析
2019/08/01 Python
python实现的发邮件功能示例
2019/09/11 Python
PyCharm License Activation激活码失效问题的解决方法(图文详解)
2020/03/12 Python
Python要求O(n)复杂度求无序列表中第K的大元素实例
2020/04/02 Python
HTML5 解析规则分析
2009/08/14 HTML / CSS
男女时尚与复古风格在线购物:RoseGal(全球免费送货)
2017/07/19 全球购物
Bonprix法国:时尚、鞋子、家居
2020/12/29 全球购物
为什么Runtime.exec(“ls”)没有任何输出?
2014/10/03 面试题
javascript实现用户必须勾选协议实例讲解
2021/03/24 Javascript
工程部主管岗位职责
2013/11/17 职场文书
电子商务个人职业生涯规划范文
2014/02/12 职场文书
党员批评与自我批评发言材料
2014/10/14 职场文书
2015年收银员个人工作总结
2015/04/01 职场文书
毕业设计工作总结
2015/08/14 职场文书
2019让人心动的商业计划书
2019/06/27 职场文书
MySQL索引失效的典型案例
2021/06/05 MySQL