Python Django view 两种return的实现方式
1.使用render方法
returnrender(request,'index.html')
返回的页面内容是index.html的内容,但是url不变,还是原网页的url,(比如是login页面的返回方法,跳转后的url还是为login)一刷新就返回去了
2.使用redirect方法
returnredirect(request,'idnex.html')
直接跳转到index.html页面中,url为跳转后的页面url
补充知识:Django的View是如何工作的?
View(视图)主要根据用户的请求返回数据,用来展示用户可以看到的内容(比如网页,图片),也可以用来处理用户提交的数据,比如保存到数据库中。Django的视图(View)通常和URL路由一起工作的。服务器在收到用户通过浏览器发来的请求后,会根据urls.py里的关系条目,去视图View里查找到与请求对应的处理方法,从而返回给客户端http页面数据。
当用户发来一个请求request时,我们通过HttpResponse打印出Hello,World!
#views.py
fromdjango.httpimportHttpResponse
defindex(request):
returnHttpResponse("Hello,World!")
下面一个新闻博客的例子。/blog/展示所有博客文章列表。/blog/article/
#blog/urls.py
fromdjango.urlsimportpath
from.importviews
urlpatterns=[
path('blog/',views.index,name='index'),
path('blog/article//',views.article_detail,name='article_detail'),
]
#blog/views.py
fromdjango.shortcutsimportrender,get_object_or_404
from.modelsimportArticle
#展示所有文章
defindex(request):
latest_articles=Article.objects.all().order_by('-pub_date')
returnrender(request,'blog/article_list.html',{"latest_articles":latest_articles})
#展示所有文章
defarticle_detail(request,id):
article=get_object_or_404(Article,pk=id)
returnrender(request,'blog/article_detail.html',{"article":article})
模板可以直接调用通过视图传递过来的内容。
#blog/article_list.html
{%blockcontent%}
{%forarticleinlatest_articles%}
{{article.title}}
{{article.pub_date}}
{%endfor%}
{%endblock%}
#blog/article_detail.html
{%blockcontent%}
{{article.title}}
{{article.pub_date}}
{{article.body}}
{%endblock%}
以上这篇PythonDjangoview两种return的实现方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。