标签: django-staticfiles

配置不正确的静态文件

我已经在Heroku上部署了简单的博客应用程序,它运行起来Django=1.8.4,而且我遇到了一些静态文件问题.

当我打开我的应用程序时,我看到了Application Error页面,所以我尝试调试它并发现当我提交Heroku时它无法在我的静态文件夹上执行collectstatic.其他一切都在运作,Heroku正在向我展示Build succeeded但不能预成型

remote: -----> Preparing static assets
remote:        Collectstatic configuration error. To debug, run:
remote:        $ heroku run python bloggy_project/manage.py collectstatic --noinput
Run Code Online (Sandbox Code Playgroud)

所以Heroku要我调试它.我输入后

heroku run python bloggy_project/manage.py collectstatic --noinput
Run Code Online (Sandbox Code Playgroud)

错误日志显示:

Running python bloggy_project/manage.py collectstatic --noinput on greenbloggy... up, run.4682
Traceback (most recent call last):
  File "bloggy_project/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
    utility.execute()
  File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 330, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 190, in fetch_command
    klass …
Run Code Online (Sandbox Code Playgroud)

python django heroku django-staticfiles

2
推荐指数
1
解决办法
1万
查看次数

在django 1.9中找不到我的静态文件

我对Django有一点问题,它不是我的静态文件.我已阅读文档,我尝试直接使用路径,使用{{STATIC_URL}},最推荐的方法是留下详细信息.知道怎么解决吗?template.html:

{% load staticfiles %}
    <link rel="stylesheet" type="text/css" href="{% static 'css/normalize.css' %}" />
    <link rel="stylesheet" type="text/css" href="{% static 'css/demo.css' %}" />
    <link rel="stylesheet" type="text/css" href="{% static 'css/component.css' %}" />
    <link rel="stylesheet" type="text/css" href="{% static 'css/cs-select.css' %}" />
    <link rel="stylesheet" type="text/css" href="{% static 'css/cs-skin-boxes.css' %}" />
Run Code Online (Sandbox Code Playgroud)

local.py(设置)

STATIC_URL = '/static/'
Run Code Online (Sandbox Code Playgroud)

STATICFILES_DIRS = [BASE_DIR2.child('static')]

我的文件夹在正确的方向 第一个文件夹是virtualenv,第二个文件夹是Django项目,其中是manage.py(图像)

视图,模型,网址和表单正常工作,并显示所选模板[python代码正常工作(图像)] [2]

更新

我尝试更改STATICFILES_DIRS:

STATICFILES_DIRS = (
    os.path.join(os.path.dirname(BASE_DIR), 'static', ),
)
Run Code Online (Sandbox Code Playgroud)

为了并打印路径以确保它是正确的,但错误仍在继续. 打印结果 在此先感谢

python django-templates django-staticfiles

2
推荐指数
1
解决办法
4157
查看次数

用nGinx提供静态文件的Django给出了错误404

我无法通过nGinx提供静态文件,而是获得了404.我可以看到错误(显示在error.log中),我只是看不出如何解决它.

urls.py

urlpatterns += patterns('', (
        r'^static/(?P<path>.*)$',
        'django.views.static.serve',
        {'document_root': 'static'}
))
Run Code Online (Sandbox Code Playgroud)

settings.py

STATIC_ROOT =  os.path.join(PROJECT_DIR, "staticfiles/")
STATIC_URL = '/static/'

DEBUG=False
Run Code Online (Sandbox Code Playgroud)

(一个collectstatic和所有静态文件现在都在'staticfiles /'中)

nginx配置

server { 
    listen 80; 
    server_name my_ip;  
    location = /favicon.ico { access_log off; log_not_found off; } 

    location /static/ {
        root /home/project/project/project/staticfiles;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/home/project/project/project.sock;
    }
}
Run Code Online (Sandbox Code Playgroud)

base.html文件

{% load staticfiles %}
<link rel="stylesheet" href="{% static '/css/main.css' %}">
Run Code Online (Sandbox Code Playgroud)

这是日志

error.log中

2017/04/09 10:57:40 [error] 4719#4719: *182 open() "/home/project/project/project/staticfiles/static/images/home-lock.png" failed (2: No such file or directory) …
Run Code Online (Sandbox Code Playgroud)

python django nginx django-staticfiles

2
推荐指数
1
解决办法
2496
查看次数

我删除了一个 css 静态文件,但我的网站仍然读取它?

我有一个名为 的静态 css 文件blog.css,我将它加载到我的 base.html 模板中,如下所示:

{% load static %}
<link rel="stylesheet" type="text/css" href="{% static 'css/blog.css' %}">
Run Code Online (Sandbox Code Playgroud)

但是当我想更改该 css 中的某些内容时,更改不会出现。由于我的困惑,我试图测试一些东西。

  1. 重命名blog.cssblog2.css

奇怪的是,当我对 blog2.css 进行更改并在 base.html 中调用它时,我的更改会起作用,例如更改背景颜色等。

但是当我对 进行更改时blog.css,没有任何反应。

所以,我尝试 DELETE blog.css,但仍然在 base.html 中调用它。

当我第一次制作该文件时,一切仍然有效。我应该期待一个损坏的设计 HTML 页面和控制台中的 404,因为找不到静态文件夹中的 blog.css。

就像 blog.css 是一个鬼魂或仍然存在于我文件夹中某处的东西.. 或者我错过了什么?

我还尝试重新启动 runserver 命令,无数次刷新页面,甚至重新启动我的计算机。

我对 Django 很陌生,我正在尽我所能去理解它,并感谢您提供的任何帮助。非常感谢!

python django django-staticfiles

2
推荐指数
1
解决办法
3826
查看次数

Nginx 不提供 Django 管理静态文件

404 URL 示例:

http://ip.address/static/admin/css/base.css

我不确定我做错了什么。这是关联的文件:

设置.py

STATICFILES_DIRS = [
  '/home/username/sitename/sitenameenv/lib/python3.5/site-packages/django/contrib/admin/static',
]
STATIC_URL = '/static/'
STATIC_ROOT = '/home/username/sitename/website/staticroot/'
Run Code Online (Sandbox Code Playgroud)

Nginx 配置:

server {
    listen 80;
    server_name http://ip.address/;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /home/username/sitename/website/;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/home/username/sitename/sitename.sock;
    }
}
Run Code Online (Sandbox Code Playgroud)

常规静态文件正在正确提供,并且在我添加STATIC_ROOT和使用之前它们也在这样做collectstatic,我认为这是没有必要的。不过,我的管理员因其静态文件而收到 404 错误。

django nginx gunicorn django-staticfiles

2
推荐指数
1
解决办法
3079
查看次数

Django 未加载静态 CSS 文件

我已经环顾了这个网站以及其他网站,但仍然没有找到一个解决方案来解决为什么 django 没有加载我的 css 文件

我的 settings.py 文件:

STATIC_URL = '/static/'
STATICFILES_DIR = [
    os.path.join(BASE_DIR, "static"),
]
Run Code Online (Sandbox Code Playgroud)

在我的 html 文件中:

{% load static %}
<link rel="stylesheet" href="{% static '/css/my_style.css' %}">
Run Code Online (Sandbox Code Playgroud)

我的文件树:

todo_app
    static
    todo_app
    todo_list
    db.sqlite3
    manage.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'todo_list',
]
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激。我尝试使用不同线程上显示的 STATIC_ROOT ,但没有任何变化。

python django django-staticfiles

2
推荐指数
1
解决办法
6841
查看次数

Django ValueError:缺少静态文件清单条目,但清单似乎显示该条目

在部署到 Heroku 的 Django 1.11 应用程序上。当加载根 URL 时/(我猜当 Django 进入模板时{% static 'angular/angular.min.js' %}homepage.html我收到以下错误:

ValueError: Missing staticfiles manifest entry for 'angular/angular.min.js'
  File "django/core/handlers/exception.py", line 41, in inner
    response = get_response(request)
  File "django/core/handlers/base.py", line 187, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "django/core/handlers/base.py", line 185, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "homepage/views.py", line 87, in homepage
    "latest_python3": Version.objects.filter(supports_python3=True).select_related("package").distinct().order_by("-created")[0:5]
  File "django/shortcuts.py", line 30, in render
    content = loader.render_to_string(template_name, context, request, using=using)
  File "django/template/loader.py", line 68, …
Run Code Online (Sandbox Code Playgroud)

django heroku django-staticfiles whitenoise

2
推荐指数
1
解决办法
3502
查看次数

从 Django 中的项目目录提供静态文件

我有以下项目结构:

myproject
    - myapp
    - manage.py
    - myproject
          - settings.py
          - urls.py
          ...
    - static
    - templates
Run Code Online (Sandbox Code Playgroud)

我想从这个静态文件夹中提供所有静态文件。在我的settings.py中,我有以下内容:

myproject
    - myapp
    - manage.py
    - myproject
          - settings.py
          - urls.py
          ...
    - static
    - templates
Run Code Online (Sandbox Code Playgroud)

但是,在我的模板之一中,当我使用以下命令调用静态文件时......

{% load static %}
...
<link href="{% static 'css/styles.css' %}" rel="stylesheet" />
Run Code Online (Sandbox Code Playgroud)

...没有加载任何内容。

但是,如果我在 myapp/static/css/styles.css 中添加 css 文件,则一切正常。如何从项目根文件夹提供静态文件?谢谢你的帮助。

python django django-templates django-static django-staticfiles

2
推荐指数
1
解决办法
3474
查看次数

使用 javascript 重定向 django url

我有带有 javascript 的倒计时器,我想在倒计时结束后重定向到另一个页面。倒计时工作正常,但它没有重定向到结果页面

我试过这个:

应用程序.js

var count = 15

var counter = setInterval(timer , 1000)

function timer(){
   count = count-1
   if (count <= 0)
   {
       clearInterval(counter);
       return window.location.replace("{% url'app:result' %}")
   }
   document.getElementById("timer").innerHTML= count + " secs";

}
Run Code Online (Sandbox Code Playgroud)

javascript django django-templates django-models django-staticfiles

2
推荐指数
1
解决办法
4086
查看次数

Azure 上的 Django 应用程序没有获取静态文件

在 Azure webapp 上获得了我的 Django 项目,但是当我调用 SSH 终端时:

Python manage.py collectstatic

它说复制了 252 个文件,但我的静态文件在我的模板上不可见,wwwroot 中的静态文件夹是空的...这是我的 wwwroot 结构:

wwwroot
|---Myproject
|---manage.py
|---oryx-manifest.toml
|---hostingstart.html
|---static //With all my static files
??? myapp
?   ??? migrations
?   ??? __pycache__
?   ??? static
|   |   |---Images
|   |   |   |--myimage.png
|   |   |   |--myimage2.png
?   ??? templates
Run Code Online (Sandbox Code Playgroud)

这是我的settings.py:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
STATIC_URL = '/static/'
STATICFILES_DIRS = (
   ('myapp', os.path.join(BASE_DIR, 'myapp', 'static')),
)
STATICFILES_FINDERS = (
  'django.contrib.staticfiles.finders.FileSystemFinder',
  'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
Run Code Online (Sandbox Code Playgroud)

知道为什么或我做错了什么吗?Azure 收集不同吗? …

django azure django-staticfiles azure-web-app-service

2
推荐指数
2
解决办法
970
查看次数