经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Django » 查看文章
对DJango视图(views)和模版(templates)的使用详解
来源:jb51  时间:2019/7/18 8:36:39  对本文有异议

视图

在django中,视图对WEB请求进行回应

视图接收reqeust对象作为第一个参数,包含了请求的信息

视图就是一个Python函数,被定义在views.py中

定义完成视图后,需要配置urlconf,否则无法处理请求

在Django中,定义URLconf包括正则表达式、视图两部分

Django使用正则表达式匹配请求的URL,一旦匹配成功,则调用应用的视图

注意:只匹配路径部分,即除去域名、参数后的字符串

在test1/urls.py插入booktest,使主urlconf连接到booktest.urls模块

视图代码

  1. # views.py
  2. # 一个简单的视图,固定返回 hrllo world
  3. def index(request):
  4. return HttpResponse('hello world')

模板

模板是html页面,可以根据视图中传递的数据填充值

模板和应用booktest是同级目录

模板的结构templates/应用名(booktest)/*.html

将模板的地址信息拼接在settings.py文件中的TEMPLATES的DIRS值中:'DIRS': [os.path.join(BASE_DIR, ‘templates')],

urls代码

方式一: 直接修改原始的urls

  1. # fanlie/fanlei/urls.py
  2. from django.conf.urls import include, url
  3. from django.contrib import admin
  4. from booktest import views
  5.  
  6. urlpatterns = [
  7. url(r'^admin/', include(admin.site.urls)),
  8. # 如果匹配的是空就就调用views.index返回首页
  9. url(r'^$',views.index),
  10. ]

方式二: 在应用目录下修改

  1. # fanlie/fanlei/urls.py
  2. urlpatterns = [
  3. url(r'^admin/', include(admin.site.urls)),
  4. # 什么都不干直接去booktest.urls去找相应的匹配
  5. url(r'^',include('booktest.urls')),
  6. ]
  7.  
  8. # fanlei/booktest/urls.py
  9. from django.conf.urls import url
  10. from . import views
  11.  
  12. urlpatterns = [
  13. # js结尾就是调用视图中的函数 js
  14. url(r'.*.js',views.js),
  15. # 直接访问代表是首页,调用视图中的函数index
  16. url(r'^$', views.index),
  17. # 如果是image开头的代表是图片,直接让DJango去打开对应的图片返回
  18. url(r'^images/(?P<path>.*)', 'django.views.static.serve', {'document_root':'/home/python/Desktop/fanlei/templates/booktest/images'}),
  19.  
  20. ]

上面模板用到的视图

  1. from django.shortcuts import render
  2.  
  3. def index(request):
  4. # 返回引号中的文件的内容
  5. return render(request, 'booktest/index.html')
  6.  
  7. def js(request):
  8. # 返回引号中的文件的内容
  9. return render(request,'booktest/jquery-1.12.4.js')

以上这篇对DJango视图(views)和模版(templates)的使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持w3xue。

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号