问题标签 [django-staticfiles]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
79144 浏览

django - Django 获取视图中的静态文件 URL

我正在使用 reportlab pdfgen 创建 PDF。在 PDF 中有一个由drawImage. 为此,我需要图像的 URL 或视图中图像的路径。我设法构建了 URL,但是如何获取图像的本地路径?

我如何获得网址:

0 投票
2 回答
1390 浏览

python - django-pipeline amazon s3 collectstatic 文件找不到

我将 s3boto、django-pipeline 和 django-storages 与此设置一起使用:

以及 django-pipeline 的自定义存储

但我不断得到:

但是这个文件在任何地方都不存在!不在插件中,我尝试找到它,我检查了我的静态目录,尝试在管理员中找到它,我什至不记得使用过这样的文件!我试过findstatic,找不到文件。

我会错过什么?

0 投票
2 回答
1825 浏览

django - Django不提供一些静态文件

我在使用 Django 时遇到了一个非常奇怪的问题,我STATIC_URL的 is/static/并且我已经安装了一个应用程序,使用pipas-e git+git://github.com/foo/bar.git#egg=bar将其加载到 virtualenv src 文件夹中。

现在,我正在尝试获取与此应用程序相关的静态文件,/static/bar/js/something.js并且 src 文件夹确实有一个bar/bar/static/bar/js/something.js文件。即使我findstatic bar/js/something.js给了我一个有效的文件路径。但是,当我使用浏览器访问它时,我会 301 访问/static/bar/js/something.js/哪个 404。

为什么会发生这种情况?

即使用应用程序四处staticfiles寻找,我也能够看到它识别出我的应用程序已安装并且它的static文件夹存在。但是不知何故,静态文件没有被提供。

0 投票
1 回答
1278 浏览

javascript - 在使用 Django 静态文件时动态设置图像时,只有绝对路径才能与 Jquery 一起使用

我有一些 jquery 代码可以在用户单击按钮时切换按钮的活动与非活动图像。当我只是使用相对路径从 Windows 静态运行所有内容时,它工作正常。

但是,一旦我将它迁移到我的 django 开发框,如果我通过 jquery 设置它的相对路径,单击按钮将无法加载所需的图像。所有其他静态图像都可以通过具有相对路径的 css 正常服务,但是如果我在文档加载时通过 jquery 设置相对路径,例如,它就不起作用。我已经通过检查元素确认路径相同并且 jquery 正确设置它们。

尝试各种相对路径20分钟后,发现设置开发服务器的绝对路径是可行的,即“url('http://127.0.0.1:8000/static/img/img.jpg').I'我想让相对路径工作,因为这种方法在灵活性和部署方面有其局限性。

我是否遇到了 django 静态文件服务的限制?我发现错误了吗?还是我缺少什么?

提前致谢!

0 投票
2 回答
366 浏览

django - Django1.4中的静态文件管理

几天来,我一直对 Django 中的静态文件感到困惑。我找到了一种效果很好的解决方案。但是当我设置 DEBUG=False 时它崩溃了。所以我建立了一个新项目并做一些测试以获得更清晰的外观。首先,我使用默认设置创建一个项目。然后我将设置文件的一些行更改为:

之后,我将“hi.jpg”放在“project_dir/images/hi.jpg”中。我调用 runserver 并访问“http://127.0.0.1:8000/static/images/hi.jpg”。它不起作用。有什么问题?

0 投票
2 回答
885 浏览

python - 在 openshift 上使用 .htaccess 文件后丢失 django 管理静态文件

我不确定发生了什么,但我遵循了一些我在互联网上找到的关于使用 mod_rewrite 通过静态文件夹(从 $OPENSHIFT_DATA_DIR 提供)提供媒体文件的指南。现在唯一的问题是,我的管理文件不再得到服务,我正在努力修复它。

以上内容适用于我的用户上传的 /media/ 文件,但是在提供管理文件时存在巨大问题。他们似乎刚刚停止从 /static/admin/ 提供服务。

0 投票
2 回答
3468 浏览

django - 如何仅使用 collectstatic 忽略特定应用程序的静态文件?

只是为了解决这个问题,如果可能的话,我想这样做而不是将它们全部嵌套在应用程序的静态文件夹中的应用程序名称的目录中,这感觉是多余的。如果这是唯一的方式,那么这就是生活。

我在用:

和:

它在运行 collectstatic 时编译 JS 和 SASS。它们都位于 APP_ROOT/static/ 目录中。

唯一的“问题”是它附带了所有源 sass 和 js 文件。在某个时候,我将把这一切都推到 S3 上,如果可能的话,我想避免这种情况。

我发现如果你运行:

它仍然编译我指定的 JS 和 CSS 文件,而将其余的“源”文件排除在外。不幸的是,它也会忽略 /admin/ 中的每个 js 文件,因为它匹配 /admin/js/ 等。我什至不知道这是否可能是这个特定项目的问题,但我可以预见未来其他应用程序在哪里我肯定会想要包含保存在应用程序中的静态 js/css。

我想做的是:

正如我在顶部提到的,简单的解决方案就是在文件夹中的静态文件前面加上 app_name/,就像 django.contrib.admin 的做法一样。但是,此时您最终会得到 PROJECT_ROOT/app_name/static/app_name/[js|sass|img|data]/ 的目录结构,我认为应该可以避免冗余。

话又说回来,也许这是最好的选择,以保证避免与其他应用程序冲突?

我已经研究过编写自定义存储和查找器,我认为可以自己动手。不过,我想先在这里检查一下,看看这是否是其他人已经解决的问题,或者,要实际检查一下压倒性的反应是否只是添加前缀目录。

如果我要自己动手,我认为我会走的路将是扩展django.contrib.staticfiles.finders.AppDirectoriesFinder和压倒一切list()。我还不确定这种方法会起作用,我需要更多地跟踪 collectstatic 管理命令的进展情况,所以如果有人以前做过这个或类似的事情,或者知道它为什么会/不会起作用,任何帮助都是赞赏。

谢谢!

0 投票
1 回答
4527 浏览

python - Django 1.4 静态文件未找到错误

可能重复:
尝试在开发服务器上提供 django 静态文件 - 未找到

我刚刚进入 Python 和 django 的世界,我无法使用 STATIC_URL 设置我的 URL,我目前正在使用 django 1.4 进行本地开发。我阅读了django 静态文件文档,似乎已经添加了所有需要的内容,但仍然出现 404 错误。我已经阅读了与此相关的其他关于 SO 的问答,并尝试了各种方法,但无法使其发挥作用。

我从控制台得到的错误

我的 index.html 页面是其他页面扩展的主页,它具有以下脚本:

在查看了关于 SO 的其他问题和答案后,我尝试通过添加来编辑我的视图,因为我的 archive.html 正在呈现数据:

我的目录结构 -

我的设置.py

我想我拥有所需的一切,但仍然没有运气。

我哪里出错了,我对设置“STATICFILES_DIRS”路径有点困惑,我怎么能在我的本地机器上让它工作

0 投票
0 回答
125 浏览

django-admin - 如何连接到在子目录上运行的 django 1.4 应用程序的静态管理文件

我正在使用 django-wsgi 在 apache2 上运行 django。

我一直在寻找解决这个问题的问题,但我发现要么解决方案适用于早期版本的 Django,要么不适合我的特定问题(如果我在这方面错了,请对我温柔)。

我的问题是,当我从域根目录运行 django 时,管理员 css 工作正常,但是当我从子目录(例如http://www.mysite.com/djangoapp/)运行它时,登录 django 没有问题管理员,但缺少所有样式。

我尝试将 settings.py 中的 URL_prefix 更改为 URL_PREFIX = "/django_app"。

我还尝试在我的 apache2 配置 (/etc/apache2/sites-available/mysite) 中的 Alias 中添加 Alias /djangoapp/static /path/to/static,这在 django 1.3 中对我有用,但在 1.4 中不起作用

0 投票
3 回答
408 浏览

python - Django,这是处理 css、js 和图像的奇怪方式

我的问题:我可以简单地忽略所有那些无意义的静态、媒体、collectstatic 和上帝知道什么,并且简单地正常链接我的 css、img 和我的 js 文件吗?

以管理文件为例。我将模板复制到我的项目模板文件夹中以进行编辑。很简单,但是当我想改变css时......哦,男孩。我无法链接任何css文件!只有这个模板愿意找到的 css 位于我的 django 源中......将其更改为任何内容(如 href="/assets/css/admin.css"),但找不到它。我试图编辑 settings.py 文件和那里的静态文件;这显然没有用。

请帮助我:我究竟需要写什么到我的 settings.py 才能具有以下结构并能够正常链接我的文件?

项目

- - 地点

----模板

- - - - 行政

- - - - 地点

- - 资产

--------图片

--------CSS

--------Js

提前致谢!