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网页请求urllib2模块简单封装代码
Feb 07 Python
Python ORM框架SQLAlchemy学习笔记之映射类使用实例和Session会话介绍
Jun 10 Python
Python中的列表生成式与生成器学习教程
Mar 13 Python
Python实现控制台中的进度条功能代码
Dec 22 Python
python如何创建TCP服务端和客户端
Aug 26 Python
Python开发网站目录扫描器的实现
Feb 21 Python
Python后台开发Django会话控制的实现
Apr 15 Python
python实现DEM数据的阴影生成的方法
Jul 23 Python
python实现npy格式文件转换为txt文件操作
Jul 01 Python
Python进行统计建模
Aug 10 Python
在Ubuntu中安装并配置Pycharm教程的实现方法
Jan 06 Python
教你使用TensorFlow2识别验证码
Jun 11 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
也谈截取首页新闻 - 范例
2006/10/09 PHP
session在php5.3中的变化 session_is_registered() is deprecated in
2013/11/12 PHP
PHP使用CURL_MULTI实现多线程采集的例子
2014/07/29 PHP
解决Extjs 4 Panel作为Window组件的子组件时出现双重边框问题
2013/01/11 Javascript
JS文本框不能输入空格验证方法
2013/03/19 Javascript
JavaScript对象和字串之间的转换实例探讨
2013/04/21 Javascript
三种取消选中单选框radio的方法
2014/09/09 Javascript
jquery Validation表单验证使用详解
2020/09/12 Javascript
AngularJs  unit-testing(单元测试)详解
2016/09/02 Javascript
hovertree插件实现二级树形菜单(简单实用)
2016/12/28 Javascript
js实现抽奖效果
2017/03/27 Javascript
Vue2 Vue-cli中使用Typescript的配置详解
2017/07/24 Javascript
vue2利用Bus.js如何实现非父子组件通信详解
2017/08/25 Javascript
AngularJS实现的2048小游戏功能【附源码下载】
2018/01/03 Javascript
vue2中,根据list的id进入对应的详情页并修改title方法
2018/08/24 Javascript
在layui.use 中自定义 function 的正确方法
2019/09/16 Javascript
解决axios post 后端无法接收数据的问题
2019/10/29 Javascript
python实现图片变亮或者变暗的方法
2015/06/01 Python
python生成词云的实现方法(推荐)
2017/06/13 Python
更新pip3与pyttsx3文字语音转换的实现方法
2019/08/08 Python
Python importlib动态导入模块实现代码
2020/04/16 Python
Python Tricks 使用 pywinrm 远程控制 Windows 主机的方法
2020/07/21 Python
解决c++调用python中文乱码问题
2020/07/29 Python
Django限制API访问频率常用方法解析
2020/10/12 Python
Python lxml库的简单介绍及基本使用讲解
2020/12/22 Python
微信浏览器左上角返回按钮拦截功能
2017/11/21 HTML / CSS
HTML5的文档结构和新增标签完全解析
2017/04/21 HTML / CSS
详解HTML5 data-* 自定义属性
2018/01/24 HTML / CSS
世界上最好的帽子:Tilley
2016/11/27 全球购物
澳大利亚领先的折扣药房:Chemist Direct(有中文站)
2018/11/24 全球购物
欧洲最大的高尔夫零售商:American Golf
2019/09/02 全球购物
工作表扬信的范文
2014/01/10 职场文书
六查六看剖析材料
2014/02/15 职场文书
《搭石》教学反思
2014/04/07 职场文书
不会写演讲稿,快来看看这篇文章!
2019/08/06 职场文书
Python+Tkinter打造签名设计工具
2022/04/01 Python