DJango视图(views)和模版(templates)的使用
2018-05-09 22:01
519 查看
版权声明:转载请注明出处 https://blog.csdn.net/fanlei5458/article/details/80260449
视图
- 在django中,视图对WEB请求进行回应
- 视图接收reqeust对象作为第一个参数,包含了请求的信息
- 视图就是一个Python函数,被定义在views.py中
- 定义完成视图后,需要配置urlconf,否则无法处理请求
- 在Django中,定义URLconf包括正则表达式、视图两部分
- Django使用正则表达式匹配请求的URL,一旦匹配成功,则调用应用的视图
- 注意:只匹配路径部分,即除去域名、参数后的字符串
- 在test1/urls.py插入booktest,使主urlconf连接到booktest.urls模块
视图代码
# views.py # 一个简单的视图,固定返回 hrllo world def index(request): return HttpResponse('hello world')
模板
- 模板是html页面,可以根据视图中传递的数据填充值
- 模板和应用booktest是同级目录
- 模板的结构templates/应用名(booktest)/*.html
- 将模板的地址信息拼接在settings.py文件中的TEMPLATES的DIRS值中:’DIRS’: [os.path.join(BASE_DIR, ‘templates’)],
urls代码
方式一:直接修改原始的urls
# fanlie/fanlei/urls.py from django.conf.urls import include, url from django.contrib import admin from booktest import views urlpatterns = [ url(r'^admin/', include(admin.site.urls)), # 如果匹配的是空就就调用views.index返回首页 url(r'^$',views.index), ]
方式二:在应用目录下修改
# fanlie/fanlei/urls.py urlpatterns = [ url(r'^admin/', include(admin.site.urls)), # 什么都不干直接去booktest.urls去找相应的匹配 url(r'^',include('booktest.urls')), ] # fanlei/booktest/urls.py from django.conf.urls import url from . import views urlpatterns = [ # js结尾就是调用视图中的函数 js url(r'.*.js',views.js), # 直接访问代表是首页,调用视图中的函数index url(r'^$', views.index), # 如果是image开头的代表是图片,直接让DJango去打开对应的图片返回 url(r'^images/(?P<path>.*)', 'django.views.static.serve', {'document_root':'/home/python/Desktop/fanlei/templates/booktest/images'}), ]
上面模板用到的视图
from django.shortcuts import render def index(request): # 返回引号中的文件的内容 return render(request, 'booktest/index.html') def js(request): # 返回引号中的文件的内容 return render(request,'booktest/jquery-1.12.4.js')阅读更多
相关文章推荐
- Django框架下在视图中使用模版的方法
- Django框架下在视图中使用模版的方法
- django使用通用视图 django.views.generic
- Django views视图响应对象
- Django-Rest-Framework 教程: 3. 使用 class based views
- 千与千寻django(六)---通用视图(Generic views)
- 在Django的URLconf中使用多个视图前缀的方法
- 在Django的视图中使用form对象的方法
- Django中,模型(models),视图(views)和模板的区别和应用
- Django Class-based generic views 基于类的通用视图
- SAP HANA计算视图(calculation views)使用RANK报错
- 使用Django进行web开发(2) ---Views和地址
- 【PythonDjango后台实例 第三章】Python3.6.1+Django1.8 模版的继承使用
- django实战1-使用视图和模板显示多行
- django在视图中使用模板
- 在Django的URLconf中使用多个视图前缀的方法
- python学习之--Django--初次使用templates
- django使用jinja2模版引擎
- Django框架中的对象列表视图使用示例
- 在Python的Django框架的视图中使用Session的方法