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的unittest测试类代码实例
Dec 07 Python
python中文乱码不着急,先看懂字节和字符
Dec 20 Python
详解python中的线程
Feb 10 Python
基于python list对象中嵌套元组使用sort时的排序方法
Apr 18 Python
在cmd中运行.py文件: python的操作步骤
May 12 Python
python判断完全平方数的方法
Nov 13 Python
使用Python实现企业微信的自动打卡功能
Apr 30 Python
利用pyinstaller打包exe文件的基本教程
May 02 Python
解决Jupyter NoteBook输出的图表太小看不清问题
Apr 16 Python
python基于pexpect库自动获取日志信息
Feb 01 Python
Python OpenCV实现传统图片格式与base64转换
Jun 13 Python
python 远程执行命令的详细代码
Feb 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
php通过字符串调用函数示例
2014/03/02 PHP
ThinkPHP使用心得分享-分页类Page的用法
2014/05/15 PHP
PHP中soap的用法实例
2014/10/24 PHP
完美解决thinkphp验证码出错无法显示的方法
2014/12/09 PHP
php运行提示:Fatal error Allowed memory size内存不足的解决方法
2014/12/17 PHP
PHP实现对二维数组某个键排序的方法
2016/09/14 PHP
详谈PHP中的密码安全性Password Hashing
2017/02/04 PHP
利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
2017/06/27 PHP
不常用但很实用的PHP预定义变量分析
2019/06/25 PHP
JQuery 学习笔记 选择器之二
2009/07/23 Javascript
Jquery提交表单 Form.js官方插件介绍
2012/03/01 Javascript
js 延迟加载 改变JS的位置加快网页加载速度
2012/12/11 Javascript
javascript实现按回车键切换焦点
2015/02/09 Javascript
JavaScript中的pow()方法使用详解
2015/06/15 Javascript
如何使用 vue + d3 画一棵树
2018/12/03 Javascript
使用python 写一个静态服务(实战)
2019/06/28 Python
pandas 选取行和列数据的方法详解
2019/08/08 Python
Python使用APScheduler实现定时任务过程解析
2019/09/11 Python
django有外键关系的两张表如何相互查找
2020/02/10 Python
python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例
2020/02/28 Python
python爬虫构建代理ip池抓取数据库的示例代码
2020/09/22 Python
小结Python的反射机制
2020/09/28 Python
美国最大的农村生活方式零售店:Tractor Supply Company(TSC)
2017/05/15 全球购物
乌克兰最大的家用电器和电子产品连锁店:Eldorado
2019/10/02 全球购物
一些Unix笔试题和面试题
2013/01/22 面试题
大学毕业登记表自我鉴定
2013/10/09 职场文书
社区十八大感言
2014/01/19 职场文书
超市创业计划书
2014/04/24 职场文书
学生党员一帮一活动总结
2014/07/08 职场文书
2015年房产经纪人工作总结
2015/05/15 职场文书
致毕业季:你如何做好自己的职业生涯规划书?
2019/07/01 职场文书
导游词之江苏同里古镇
2019/11/18 职场文书
浅谈Python列表嵌套字典转化的问题
2021/04/07 Python
Vue3中的Refs和Ref详情
2021/11/11 Vue.js
【DOTA2】当街暴打?PSG LGD vs VG - DPC 2022 WINTER TOUR CN
2022/04/02 DOTA
python前后端自定义分页器
2022/04/13 Python