文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Django视图怎么用

2023-06-02 06:57

关注

这篇文章将为大家详细讲解有关Django视图怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一个视图函数或者类,简称视图(view),是一个简单的Python 函数(类),它接受Web请求并且返回Web响应。响应可以是HTML页面、一个重定向、一个404错误、一个xml、json数据、或图片等,视图放置在项目或应用程序(app)目录中的名为views.py的文件中;

我们来试着写一个函数类型的View视图

from django.shortcuts import renderdef index(request):    if request.method == 'POST':        pass    else:        return render(request=request, template_name='index.html', context=None, content_type=None, status=None,                      using=None)其中的context是字典content_type设置HTTP响应头字段,用于告诉前端如何解析页面status是状态码,默认是200,可以自定义using指定模板引擎的名称,默认是使用Django模板引擎
render()函数

语法为render(request, template_name, context=None, content_type=None, status=None, using=None)

request:用于生成此响应的请求对象; template_name:templates 中定义的文件,要注意路径名;

context:要传入文件中用于渲染呈现的数据, 默认为空字典;

content_type:生成的文档要使用的MIME 类型,默认为DEFAULT_CONTENT_TYPE 设置的值;

status:http的响应代码,默认是200;

using:用于加载模板使用的模板引擎的名称;

看完了函数视图,那我们简单的来看一下类视图,类视图比函数视图代码量更少

class ProfileView(View):    def get(self, request):        return render(request, template_name='profile.html')    def post(self, request):        pass

类视图如何具体使用

我们用之前的users app举例,在项目中增加一个profile.html文件(项目的templates中,html文件都在这个文件夹中),我们想要的效果能成功访问/users/profile/
首先我们需要在users APP中的urls.py模块中处理,需要导入ProfileView这个类:

from .views import ProfileViewurl(r'^profile/$', ProfileView.as_view(), name='profile'),

此时会报错,因为我们还没有创建这个类,那我们先在users APP的views.py中编写ProfileView类

class ProfileView(View):    def get(self, request):        return render(request, 'profile.html', {'name': 'Angle'})    def post(self, request):        username = request.POST.get('username', "")        password = request.POST.get('password', "")        return render(request, 'index.html', {'username': username, 'age': 18})

然后在之前创建的profile.html文件中随意几句HTML代码

 <div >users profile</div># 我在style中加入了一个颜色样式

我们在刚刚编写的ProfileView类中打上断点,然后我们运行项目,选择Run—>Debug 项目名称,然后运行,在控制台中会出现这个地址: http://127.0.0.1:8000/,我们点进去,然后在后面加上/users/profile/的路径,是不是就能看到我们编辑的HTML代码`users profile`了;

Django视图怎么用

刚刚说到打断点,我们再来详细说一下如何在Django项目中调试断点

配置users的url(再配置路由的时候可能会出现的问题)

配置users的url的时候可能会出现url(r'^users/', include('users.urls', namespace='users'))报错的问题,原因可能是Django的版本造成,1.0版本和2.0版本的源码不同,include方法所带的参数不同,2.0中include方法不能接受app_name参数,我们需要做一些调整,解决方法为:url(r'^users/', include(('users.urls', 'users'), namespace='users')),这样就可以正常启动了

关于“Django视图怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯