问题标签 [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 投票
3 回答
17609 浏览

django - 使用 Django 服务 favicon.ico。为什么 settings.MEDIA_URL 和 django.views.generic.simple.redirect_to 只适用于开发环境?

我找到了使用 django 为 favicon.ico 提供服务的解决方案。

我不明白为什么它只适用于开发服务器。转到 /favicon.ico 对 dev 有效,不适用于debug=False. 它应该重定向到 /media/images/favicon.ico(由 apache 提供),如果您直接访问它,它确实可以工作。

有任何想法吗?

0 投票
19 回答
164241 浏览

django - 为什么 DEBUG=False 设置使我的 django 静态文件访问失败?

我正在使用 Django 作为我的主力构建一个应用程序。到目前为止一切都很好——指定的数据库设置、配置的静态目录、url、视图等。但是当我想渲染我自己的漂亮和自定义的 404.html 和 500.html 页面时,麻烦就开始了。

我阅读了有关自定义错误处理的文档,并在 UrlsConf 中设置了必要的配置,创建了相应的视图并将 404.html 和 500.html 添加到我的应用程序的模板目录(也在 settings.py 中指定)。

但是文档说you can actually view custom error views until Debug is Off,所以我确实把它关掉来测试我的东西,这就是东西发疯的时候!

我不仅无法查看自定义 404.html(实际上,它会加载,但因为我的错误页面每个都包含一个图形错误消息 - 作为一些漂亮的图像),错误页面的源会加载,但没有其他加载!甚至没有链接 CSS 或 Javascript!

通常,一旦我设置DEBUG = False,所有视图都会加载,但任何链接的内容(CSS、Javascript、图像等)都不会加载!发生了什么?关于静态文件和设置,是否缺少某些DEBUG内容?

0 投票
2 回答
6224 浏览

django - Django StaticFiles 和 Amazon S3:如何检测修改的文件?

我正在使用 django staticfiles + django- storages和 Amazon S3 来托管我的数据。除了每次我运行manage.py collectstatic命令都会将所有文件上传到服务器之外,一切都运行良好。

看起来管理命令比较Storage.modified_time()了 django-storages 的 S3 存储中未实现的时间戳。

你们如何确定 S3 文件是否已被修改?

我可以在我的数据库中存储文件路径和最后修改的数据。或者有没有一种简单的方法可以从亚马逊提取最后修改的数据?

另一种选择:看起来我可以分配任意元数据python-boto,我可以在第一次上传时放置本地修改日期。

无论如何,这似乎是一个常见问题,所以我想问一下其他人使用了什么解决方案。谢谢!

0 投票
1 回答
179 浏览

python - 是否有 django 的静态查找器可以在鸡蛋中找到静态?

我知道 django 中没有为此内置查找器(至少在 1.3 中没有),但我想知道在我尝试之前是否有人已经制作了一个。

基本上我正在寻找的是一个静态查找器,它将查找作为鸡蛋文件安装的应用程序,该文件仅包含鸡蛋中的静态目录。

我查看了 django.contrib.staticfiles.finders.AppDirectoriesFinder 的代码,不幸的是,在它的 Django 1.3 版本中,唯一检查的是已安装应用程序位置的子目录,而不是 egg 中的子目录。

更新:由于还没有回复,我将其视为“否”。:) 如果我有时间,我可能会自己组装一个,但看起来没什么兴趣。我不知道这是否合适,但如果您碰巧对鸡蛋的静态查找器感兴趣,也许只需发表评论。

0 投票
1 回答
753 浏览

django - 在查看器中响应静态文件

我正在使用 Apache+wsgi_mod 开发一个 django 应用程序。我定义了一个简单的查看器返回用户的图像。但如果用户没有任何图片,我想渲染一个静态标准图像(取决于性别),存储在我的静态文件夹中。我知道我可以使用 static.serve() 但 django 文档阻止了这一点。如何从查看器提供静态文件?

更新:

viewer 是在views.py 中定义的一种方法(例如下面的img)

我可能想将 HttpResponseRedirect() 返回到我的静态内容。但比我需要绝对 URL。

我需要这个,因为我有类似的东西:

并希望使用标准用户图像进行响应。

更新2:

我可以做这样的事情:

但我不满意。

0 投票
1 回答
413 浏览

django - django静态文件奇怪的行为

在我的 settings.py 我有:

在我的 urls.py 中,我有:

)

在我的模板中:

这是行不通的。奇怪的是,如果我更改我的 settings.py:

和我的模板:

行得通!!我一直在兜圈子解决这个问题,并且我查看了很多论坛帖子,但我似乎无法弄清楚我做错了什么。

0 投票
1 回答
630 浏览

django - 将 upload_to 与 STATICFILES_DIRS 一起使用

如果指定了 STATICFILES_DIRS,是否需要指定 MEDIA_ROOT?加载图像时出现此问题 - upload_to 使用 MEDIA_ROOT 形成并忽略 STATICFILES_DIRS。如果实际上不一定如何使用upload_to 和STATICFILES_DIRS?

0 投票
1 回答
16605 浏览

django - 在 Django 中管理多个应用程序的静态文件

我正在开发一个由许多应用程序组成的 Django (1.3) 项目。每个应用程序在其自己的static目录下都有自己的静态文件。此外,我添加了一个名为的目录,该目录project_static应包含在各种应用程序(例如 jQuery)中通用的静态文件。

我立即遇到的问题是命名冲突。默认情况下,collectstatic只会将所有内容放在全局static目录下,而不按应用程序对其进行分类。这对我不起作用,因为每个应用程序都有 - 例如 - 一个名为css/screen.css.

我解决它的方法是从命名空间静态文件中删除django.contrib.staticfiles.finders.AppDirectoriesFinderSTATICFILES_FINDERS使用dirs,所以我的设置现在看起来像:

问题是这样我会丢失所有其他应用程序(例如django.contrib.admin)的静态文件。当然我可以手动添加管理员,但我不确定如何在不破坏管理员的情况下执行此操作,管理员具有不同的目录结构。

有没有更好的方法来管理具有多个应用程序的静态文件?

0 投票
1 回答
1257 浏览

python - Django: STATIC_URL adds appname to the url

I have configured my static settings like so:

and these in my urls.py:

It works very well for the url localhost:8000/login, but when I get to the localhost:8000/profile/edit site, which is handled by my profiles App, the {{ STATIC_URL }} changes all the paths from /static/... to /profile/static/..., so my javascripts and stylesheets are not found any more.

What'd I do wrong?

EDIT: Here would be my base.html

0 投票
1 回答
10490 浏览

django - TemplateSyntaxError 'staticfiles' 不是有效的标签库'

我在尝试让staticfilestaglib 在我的应用程序中工作时遇到了一个非常奇怪的问题。我基本上收到以下错误:

这是我的模板,它抛出了这个错误:

这是我的settings.py

本质上,我遵循了Django 文档中关于如何设置静态服务应用程序的指南,并得到了这个错误。任何人都可以看到问题是什么?我错过了什么吗?

完整的堆栈跟踪在这里