当前位置: 首页 > 编程笔记 >

Django静态资源URL STATIC_ROOT的配置方法

吴宏扬
2023-03-14
本文向大家介绍Django静态资源URL STATIC_ROOT的配置方法,包括了Django静态资源URL STATIC_ROOT的配置方法的使用技巧和注意事项,需要的朋友参考一下

缘由

  新手学习 Django 当配置好 HTML 页面后,就需要使用一些静态资源,如图片,JS 文件,CSS 样式等,但是 Django 里面使用这些资源并不是直接引用一下就好,还要配置路径即 STATIC_URL 如果这个配置不好的话,请求这些静态资源将返回 HTTP 404 。

经验传授

1. 输出 settings.py 文件里面的 STATIC_URL 到HTML页面,看一下物理路径指向了哪些,通常是不是跑出根目录的。这里给个DEMO:


def home(request):

    t = get_template("index.html")

    html = t.render(Context({

        "template_dir":settings.TEMPLATE_DIRS[0],

        "title":"Home",

        "static_dir":settings.STATIC_ROOT}))

    return HttpResponse(html)

这样访问的HTML页面就可以看到这些路径了。

2. 配置 STATIC_ROOT 变量


STATIC_ROOT = os.path.join(os.path.dirname(__file__), '..', 'templates/content').replace('\\','/') 

可能通过调整第二个和第三个参数来将路径修改正确。(多调试)

3. 在 urls.py 文件中配置 urlpatterns 变量(主要看高亮这一行):


urlpatterns = patterns('',

    url(r'^$', home),

    url(r'^static/(?P<path>.*)$','django.views.static.serve',{'document_root':settings.STATIC_ROOT}),

)

4. 测试以上配置:


<head>

    <meta charset="UTF-8"/>

    <title>{{ title }} - Oger</title>

    <script type="text/javascript" src="/static/scripts/jquery-1.11.0.min.js"></script>

</head>

<head>
    <meta charset="UTF-8"/>
    <title>{{ title }} - Oger</title>
    {% load staticfiles %}
    <script type="text/javascript" src="{% static 'scripts/jquery-1.11.0.min.js' %}"></script>
</head>
[/code]

这两种用法都是可以的。

用 Django 开发Web站点还是很方便的。继续学习中...

 类似资料:
  • 本文向大家介绍django中静态文件配置static的方法,包括了django中静态文件配置static的方法的使用技巧和注意事项,需要的朋友参考一下 环境 centos7 django 1.11 nginx 白话 我们可以使用Template 设置我们的网页,同时,一个完美的网页需要css,js,image 等静态文件的支持。 django中配置方式貌似有不少总,因为很多相关的博客写的方式并不一

  • 每个网站都需要静态资源:图片、样式表、网站图标(favicon)等。在这种情况下,您可以在项目的根目录下创建一个名为 static 的目录。 放入 该目录中的每个文件都将被复制到 生成的 build 文件夹中,并保留目录的层级结构。例如,如果您将名为 sun.jpg 的文件添加到 static 文件夹中,则该文件将被复制到 build/sun.jpg 路径。 这意味着: 对于 baseUrl: '

  • 本文向大家介绍SpringMVC访问静态资源的方法,包括了SpringMVC访问静态资源的方法的使用技巧和注意事项,需要的朋友参考一下 在SpringMVC中常用的就是Controller与View。但是我们常常会需要访问静态资源,如html,js,css,image等。 默认的访问的URL都会被DispatcherServlet所拦截,但是我们希望静态资源可以直接访问。该肿么办呢? 在配置文件:

  • 问题内容: 我想将图像上传到服务器,将它们存储在文件系统(外部服务器)中,然后在我的JSF页面上显示它们。 我想找到这样的东西: 我找到了一些解决方案,但我想知道是否有更好的方法可以做到这一点。 在JBOSS AS 7中配置静态资源(未回答) 在AS7中替换context.xml?在WAR之外访问文件?(没有回答) 我找到了jBoss文档: 静态资源元素 AdminGuide容器配置 任何帮助将不

  • 本文向大家介绍Spring Boot 中的静态资源放置位置,包括了Spring Boot 中的静态资源放置位置的使用技巧和注意事项,需要的朋友参考一下 当我们使用 SpringMVC 框架时,静态资源会被拦截,需要添加额外配置,之前老有小伙伴在微信上问松哥Spring Boot 中的静态资源加载问题:“松哥,我的HTML页面好像没有样式?”,今天我就通过一篇文章,来和大伙仔细聊一聊这个问题。 SS

  • 如果你以前使用过官方的 vuejs-templates/webpack 样板,那么你应该对 static/ 目录很熟悉。这里面,你可以放置可供 main 和 renderer 进程使用的静态资源。在 Vue 应用程序中使用这些资源很简单,但是使用 fs 和其他需要完整路径的模块可能会有点棘手。 幸运的是,electron-vue 提供了一个 __static 变量,它可以在开发和产品阶段生成 st