📌  相关文章
📜  urlpatterns += static(r&#39;^static (?P<path> .*)$&#39;, &#39;django.views.static.serve&#39;, {&#39;document_root&#39;: settings.STATIC_ROOT}) - Python (1)

📅  最后修改于: 2023-12-03 15:20:54.931000             🧑  作者: Mango

Python介绍:增加静态文件路由

在程序开发中,往往需要引入静态资源,如图片、样式等,这时就需要定义路由来映射到静态资源所在的位置。

在Django框架中,可以通过增加静态文件路由的方式来实现。

代码片段
urlpatterns += static(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT})
涉及知识点
  • Django框架
  • 静态资源
  • 路由映射
  • static() 函数
  • django.views.static.serve 模块
  • settings.STATIC_ROOT
详细解释

当我们需要引入静态资源时,通常需要在HTML文件中指定这些资源所在的路径。假设我们的静态资源都存放在 static 目录下,我们需要在URL配置文件 urls.py 中增加一个路由映射,将 static 路径映射到静态资源所在的位置。

这里使用了Django框架提供的 static() 函数。它的作用是将一个或多个静态资源的路由映射到指定路径中,实现在浏览器中访问静态资源。

其中,第一个参数 r'^static/(?P<path>.*)$' 是正则表达式,用于匹配以 /static/ 开头的URL,(?P<path>.*) 表示将匹配到的URL保存到 path 变量中。

第二个参数 django.views.static.serve 表示使用Django框架内置的模块 django.views.static.serve,用于提供对静态文件的服务。

{'document_root': settings.STATIC_ROOT} 是一个字典,用于指示静态资源所在的位置。STATIC_ROOT 是在 settings.py 文件中进行指定的。

总结

当我们需要引入静态资源时,就需要在URL配置文件中添加路由映射,通过 static() 函数将静态资源绑定到指定路径中。这样在浏览器中访问静态资源时,Django框架就能够正确地提供这些资源。