关注微信公众号 太平洋学习网 扫描二维码
最新消息:关注【太平洋学习网】微信公众号,可以获取全套资料,【全套Java基础27天】【JavaEE就业视频4个月】【Android就业视频4个月】

django入门6:django views视图的介绍和使用

扩展 太平洋学习网 浏览 评论

 views.py其实是一个视图文件,主要用于数据的处理,如从数据库中查询数据,以及页面跳转的工作。

我们在django入门1:django框架的简介 中有介绍到django框架的执行过程,django首先通过urls.py里面的url配置的name="xxx"的属性找到views.py里面对应的处理方法,然后通过views视图将信息展示在网页中。

QQ截图20170925213548.png

下面我们将结合前面的urls.py来做一个页面跳转功能,如输入 http://127.0.0.1/login_view就会跳转到登录界面。

第一步:首先我们在主urls.py(在项目同名文件夹下)里面添加一个url路径配置,当我们输入任何url网址的时候,都会交给blog模块下的urls.py里面去处理,配置如下。

urlpatterns = [
    url(r'^admin/', admin.site.urls), # 先不管这个,最后面会有介绍到
    url(r'^', include('blog.urls')), # r'^'表示任何请求的意思
]

注意,r'^$' 表示网址后面为空,并不是任何的意思,它只能在子urls.py里面使用,在主urls.py里面千万不要加“$”符号,以下是错误写法。

urlpatterns = [
    url(r'^admin/', admin.site.urls), # 先不管这个,最后面会有介绍到
    url(r'^$', include('blog.urls')), # 错误写法
]

第二步:在blog模块下面的urls.py里面添加一个urlspatterns配置,如下是子urls.py下的正则表达式的网址,可以用“$”符号结尾。

from django.conf.urls import url
from .import views
urlpatterns = [
    # 跳转到登录页面
    url(r'^login_view/$', views.login_view, name='login_view'),
]

它对应的跳转方法是views.py视图下面的login_views方法,如果是浏览器直接输入网址,后面的“name=xxx”可以不用,如果是如a标签跳转,则需要根据这个name来找到参数二中views.py里面的login_view方法(后面的django模板课程会讲到)。

第三步:在views里面实现login_view方法,实现页面跳转,可以携带key:value的参数,如果为{},则表示不携带参数到页面。

from django.shortcuts import render,render_to_response
def login_view(request):
    return render_to_response('user/login_view.html', {key:value})
 # 或者
 # return render(request,'user/login_view.html', {key:value})

第四步:我们需要在blog下面新建一个templates/user/login_view.html的html文件,其中templates必须要这么命名,user文件夹随便命名,但必须要对应上面的跳转网址,如图。

QQ截图20170925215558.png

login_view.html和普通的html没有什么两样,就是一个form表单,效果如图。

QQ截图20170925215907.png

来源网站:太平洋学习网,转载请注明出处:http://www.tpyyes.com/a/kuozhan/2017/0925/240.html