Django高级管理静态文件和中间件5.1

简介: Django高级管理静态文件和中间件5.1

管理静态文件


  • 项目中的CSS、图片、js都是静态文件


配置静态文件


  • 在settings 文件中定义静态内容


STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static'),
]


在项目根目录下创建static目录,再创建当前应用名称的目录


mysite/static/myapp/


在模板中可以使用硬编码


/static/my_app/myexample.jpg


在模板中可以使用static编码


{ % load static from staticfiles %}
<img src="{ % static "my_app/myexample.jpg" %}" alt="My image"/>


中间件


  • 是一个轻量级、底层的插件系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出


  • 激活:添加到Django配置文件中的MIDDLEWARE_CLASSES元组中


  • 每个中间件组件是一个独立的Python类,可以定义下面方法中的一个或多个
  • _init _:无需任何参数,服务器响应第一个请求的时候调用一次,用于确定是否启用当前中间件


  • process_request(request):执行视图之前被调用,在每个请求上调用,返回None或HttpResponse对象


  • process_view(request, view_func, view_args, view_kwargs):调用视图之前被调用,在每个请求上调用,返回None或HttpResponse对象


  • process_template_response(request, response):在视图刚好执行完毕之后被调用,在每个请求上调用,返回实现了render方法的响应对象


  • process_response(request, response):所有响应返回浏览器之前被调用,在每个请求上调用,返回HttpResponse对象


  • process_exception(request,response,exception):当视图抛出异常时调用,在每个请求上调用,返回一个HttpResponse对象


  • 使用中间件,可以干扰整个处理过程,每次请求中都会执行中间件的这个方法


  • 示例:自定义异常处理


与settings.py同级目录下创建myexception.py文件,定义类MyException,实现process_exception方法


from django.http import HttpResponse
class MyException():
    def process_exception(request,response, exception):
        return HttpResponse(exception.message)


将类MyException注册到settings.py中间件中


MIDDLEWARE_CLASSES = (
    'test1.myexception.MyException',
    ...
)


定义视图,并发生一个异常信息,则会运行自定义的异常处理


目录
相关文章
|
8月前
|
缓存 监控 中间件
Django中间件自定义开发指南:从原理到实战的深度解析
Django中间件是Web应用的“交通警察”,在请求与响应过程中进行全局处理,适用于身份验证、日志记录、性能监控等功能。本文详解中间件的工作原理、开发步骤及实战案例,帮助开发者掌握自定义中间件的构建方法,提升Django应用的可维护性与扩展性。
451 0
|
9月前
|
存储 前端开发 应用服务中间件
Django 实战:静态文件与媒体文件从开发配置到生产部署
Django项目中,静态文件(Static Files)和媒体文件(Media Files)是两类不同用途的文件。本文详细介绍了它们的区别、配置方法以及在开发与生产环境中的处理方式,并结合用户头像上传功能进行实战演示,最后讲解了如何通过Nginx或OpenResty部署静态与媒体文件服务。
439 1
|
10月前
|
中间件 数据库 Python
Django实战:自定义中间件实现全链路操作日志记录
Django中间件是一套轻量级插件系统,用于全局处理请求与响应。通过自定义中间件可实现如操作日志记录等功能,支持在请求、视图、响应及异常阶段插入逻辑。本文详解中间件生命周期、编写方式及实战案例。
237 1
|
安全 中间件 开发者
Django中间件
【8月更文挑战第21天】
186 5
|
监控 安全 中间件
Python Django 后端架构开发: 中间件架构设计
Python Django 后端架构开发: 中间件架构设计
424 1
|
安全 中间件 项目管理
Django 后端架构开发:分页器到中间件开发
Django 后端架构开发:分页器到中间件开发
206 1
|
中间件 Python
理解Django中间件及其应用实例
理解Django中间件及其应用实例
233 0
|
中间件 Python
中间件应用Django Middleware(Python)
【5月更文挑战第3天】中间件应用Django Middleware(Python)
285 6
中间件应用Django Middleware(Python)
|
缓存 监控 中间件
中间件配置和管理问题
【7月更文挑战第14天】
353 1
|
中间件 开发者 C++
Django中间件探索:揭秘中间件在Web应用中的守护角色与实战应用
Django中间件探索:揭秘中间件在Web应用中的守护角色与实战应用

热门文章

最新文章