Python Django view 两种return的实现方式

 更新时间:2020年03月16日 08:27:33   作者:爱吃西瓜  
这篇文章主要介绍了Python Django view 两种return的实现方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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的While循环

    Python入门教程(十七)Python的While循环

    这篇文章主要介绍了Python入门教程(十七)Python的While循环,Python是一门非常强大好用的语言,也有着易上手的特性,本文为入门教程,需要的朋友可以参考下
    2023-04-04
  • python制作图片缩略图

    python制作图片缩略图

    这篇文章主要为大家详细介绍了python制作图片缩略图的相关方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04
  • Python Matplotlib 库使用指南

    Python Matplotlib 库使用指南

    这篇文章主要介绍了Python Matplotlib 库使用基本指南,通过本教程,我们学习了使用 Matplotlib 创建各种类型的图表和图形,Matplotlib 提供了丰富的函数和选项,以满足不同的数据可视化需求,需要的朋友可以参考下
    2024-01-01
  • python 简单照相机调用系统摄像头实现方法 pygame

    python 简单照相机调用系统摄像头实现方法 pygame

    今天小编就为大家分享一篇python 简单照相机调用系统摄像头实现方法 pygame,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • 基于python的selenium全网最新超详细教程

    基于python的selenium全网最新超详细教程

    这篇文章主要介绍了基于python的selenium全网最新超详细教程,本文内容比较长,结合实例代码给大家讲解的非常详细,需要的朋友可以参考下
    2023-12-12
  • Python入门教程(十六)Python的if逻辑判断分支

    Python入门教程(十六)Python的if逻辑判断分支

    这篇文章主要介绍了Python入门教程(十六)Python的if逻辑判断分支,Python是一门非常强大好用的语言,也有着易上手的特性,本文为入门教程,需要的朋友可以参考下
    2023-04-04
  • python range()函数取反序遍历sequence的方法

    python range()函数取反序遍历sequence的方法

    今天小编就为大家分享一篇python range()函数取反序遍历sequence的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • python实现简单通讯录管理系统

    python实现简单通讯录管理系统

    这篇文章主要为大家详细介绍了python实现简单通讯录管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • 基于python中staticmethod和classmethod的区别(详解)

    基于python中staticmethod和classmethod的区别(详解)

    下面小编就为大家带来一篇基于python中staticmethod和classmethod的区别(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • pytorch判断是否cuda 判断变量类型方式

    pytorch判断是否cuda 判断变量类型方式

    这篇文章主要介绍了pytorch判断是否cuda 判断变量类型方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06

最新评论