django调用python脚本返回_Python Django view 两种return的实现方式

本文介绍了Django视图中使用render和redirect方法的区别。render方法在保持URL不变的情况下返回页面内容,而redirect则会跳转到新的URL。Django视图主要负责根据用户请求返回数据,可以展示网页内容或处理用户提交的数据。文中通过实例展示了如何使用这两个方法,并给出了视图与URL路由配合工作的基本原理。
摘要由CSDN通过智能技术生成

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//展示一篇文章的详细内容。

# blog/urls.py

from django.urls import path

from . import views

urlpatterns = [

path('blog/', views.index, name='index'),

path('blog/article//', 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的实现方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值