标签: django-staticfiles

Django 1.5中的模板上下文处理器在哪里?

它应该自动列在Settings.py中还是我必须添加它?我在开发过程中提供图像文件非常困难,而且文档对我的品味太过简洁,并且由于某种原因不能清楚地向我说清楚.我想查看我的template_context_processors是什么,但它位于何处?它不在我的settings.py文件中.我是否需要通常进行编辑?

("django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.static",
"django.contrib.messages.context_processors.messages")
Run Code Online (Sandbox Code Playgroud)

django django-staticfiles

22
推荐指数
1
解决办法
9444
查看次数

如何使用 django docker nginx 和 postgresql 制作静态文件,因为它不为它们提供服务

当我尝试访问时http://127.0.0.1:8000/admin,我得到了这个。

在此输入图像描述

我的文件夹结构是:

django-react-nginx
|
|_ _ docker-compose.yml
|
  > backend
        |
        |_ Dockerfile
        |
        |_ entrypoint.sh

     > languages
          |
          |_ settings.py
     > media
     > static # This folder appears after running docker-compose -d --build
  > nginx
      |
      |_ default.conf
      |
      |_ Dockerfile
Run Code Online (Sandbox Code Playgroud)

现在

这是文件

姜戈

设置.py

DEBUG = True

ALLOWED_HOSTS = ['*']

STATIC_URL = '/static/'

STATIC_ROOT = os.path.join(BASE_DIR, 'static')

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')        

MEDIA_URL = '/media/'

Run Code Online (Sandbox Code Playgroud)

Docker 文件

FROM python:3.8

ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

WORKDIR /backend …
Run Code Online (Sandbox Code Playgroud)

django django-staticfiles docker docker-compose

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

Django runserver在开发中不提供静态文件

我正在使用Django runserver进行开发.当我部署到我的生产服务器时,我可以看到所有静态文件,但不能在本地计算机上看到.

我做了collectstatic,我已经设定了DEBUG = True.

我在网上发现了许多不同的意见,最突出的是STATICFILES_DIRS,但这对我不起作用.

如何设置它以便在我的开发环境中我可以看到静态文件,当我将文件上传到服务器时,我不需要对生产环境进行任何更改即可正常工作.

编辑 - 我的urls.py文件:

from django.conf.urls import patterns, include, url
from django.conf.urls.static import static
import newsflashes
import settings

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
    url(r'^admin/', include(admin.site.urls)),
    url(r'^', include('newsflashes.urls')),
) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
Run Code Online (Sandbox Code Playgroud)

编辑 - 文件结构:

我有两个目录,静态和动态.内部静态是静态文件,动态目录中是django应用程序.

编辑设置:

我的相关设置如下

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

django static-files django-staticfiles

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

heroku上的Django静态文件

我使用"git push heroku master"将一个django应用程序部署到了heroku,它工作得很好.

然后我使用"heroku create second-app -r staging"在同一个git上创建了第二个应用程序

并推送使用:git push staging master

当我打开第二个应用程序时,没有任何静态文件被拾取或加载(即没有css,js或图像工作)

这非常令人困惑 - 请帮忙!

我的设置文件如下

import os
import platform
import dj_database_url

DEBUG = True
TEMPLATE_DEBUG = DEBUG

# This should work for any deployment
BASE_DIR = os.path.abspath(os.path.join(os.path.dirname( __file__ ), '..'))

ADMINS = (
    ('me', 'me@gmailcom'),
)

MANAGERS = ADMINS
# LOCAL SETTINGS
if platform.system() in ['Windows', 'Darwin']:
    #EV = 'LOCAL'
    DATABASES = {
             'default': {
                 'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
                 'NAME': BASE_DIR + …
Run Code Online (Sandbox Code Playgroud)

django heroku staticfilehandler django-staticfiles

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

在django 1.8中部署期间提供媒体文件

我正在尝试在heroku上部署我的django应用程序.所有静态文件都由whitenoise成功提供并迁移.但是如何ImageField在生产期间获取用于上传的媒体文件.

我的 settings.py

STATIC_URL = '/static/'
STATIC_ROOT = 'C:/Users/Sak/mpro/feat/static/'
STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage'
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, "media")
Run Code Online (Sandbox Code Playgroud)

wsgi.py

import os

from django.core.wsgi import get_wsgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mpro.settings")

application = get_wsgi_application()

try:
  from django.core.wsgi import get_wsgi_application
  from whitenoise.django import DjangoWhiteNoise
  application = get_wsgi_application()
  application = DjangoWhiteNoise(application)   
  from dj_static import Cling
  application = Cling(get_wsgi_application())
except:
     pass
Run Code Online (Sandbox Code Playgroud)

urls.py

urlpatterns = [
url(r'^', include('feat.urls', namespace="feat")),
url(r'^admin/', include(admin.site.urls)),
 ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Run Code Online (Sandbox Code Playgroud)

我的所有媒体文件都上传到base_dir/media/media,当whitenoise收集静态文件时,它只收集文件STATIC_ROOT,所以如何部署我的媒体文件.当我运行时,heroku …

python django heroku django-media django-staticfiles

16
推荐指数
1
解决办法
2937
查看次数

使用npm和Django加载CSS静态文件的正确方法是什么?

我想从我的node_modules目录加载我的静态css文件(例如,Bootstrap),如下所示:

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

当我.../node_modules/进入我的STATICFILES_DIRS设置时,这是有效的.但是,它还为我的/static/文件夹添加了绝对大量的文件- 主要devDependencies是我不需要访问前端.

通过npm包含某些静态资产的最佳做法是什么,但不包括node_modules/static/文件夹中的所有内容?

或者,包含这么多无关文件是否可以,这是最好的解决方案?

django django-staticfiles

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

Django whitenoise的缺点

有很多文章描述了使用whitenoise而不是其他配置来提供静态文件的优点.但有关它的缺点的信息很难找到

使用whitenoise提供静态文件有什么缺点或缺点吗?

如果问题是广泛的,我现在使用NGINX来提供我的静态文件(我也使用它和gunicorn来提供我的Django应用程序),我发现它也很容易配置它

django nginx django-staticfiles whitenoise

15
推荐指数
1
解决办法
1187
查看次数

Django STATIC_URL无效

Django版本是1.4.我读过了official document,并用谷歌搜索了我的问题.

首先我按照官方文档管理静态文件添加到settings.py:

TEMPLATE_CONTEXT_PROCESSORS = (
  'django.core.context_processors.debug',
  'django.core.context_processors.i18n',
  'django.core.context_processors.media',
  'django.core.context_processors.static',
  'django.contrib.auth.context_processors.auth',
  'django.contrib.messages.context_processors.messages',
)
Run Code Online (Sandbox Code Playgroud)

在我的模板中:

<link href="{{ STATIC_URL }}css/main.css" ...>
Run Code Online (Sandbox Code Playgroud)

但是,在我的broswer是:

<link href="css/main.css" ...> (Just render `STATIC_URL` as empty)
Run Code Online (Sandbox Code Playgroud)

我的设置是:

STATIC_ROOT = os.path.join(PROJECT_PATH, 'static')
STATIC_URL = '/static/'
Run Code Online (Sandbox Code Playgroud)

在我的 views

def register(request):
    ...
    return render_to_response('register.html', {'errors':errors})
Run Code Online (Sandbox Code Playgroud)

python django django-staticfiles web

14
推荐指数
3
解决办法
8411
查看次数

Django中STATIC_URL和STATIC_ROOT之间有什么区别?

我对Django 'staticfiles'应用程序中STATIC_URL和STATIC_ROOT之间的区别感到困惑.

我相信我理解STATIC_ROOT它是什么:它本质上是服务器上的位置,staticfiles' collectstatic命令将放置从django项目收集的静态文件.该collectstatic命令将搜索您在STATIC_FINDERS设置中指定的位置.

但是,究竟做了STATIC_URL什么呢?这应该是什么?显然,它旨在设置一些用户可以访问静态文件的东西.但这与它的关系是什么STATIC_ROOT

为什么STATIC_URL简单的默认值/static/?是否STATIC_URL必须能够参考STATIC_ROOT

python django django-staticfiles

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

为django中的所有模板加载静态文件

django中有没有办法不需要{% load static %}每个模板的顶部?

此问题表明您可以将常用加载标记分解为设置,但在这种情况下不提供您需要的详细信息.

python django static-files django-staticfiles

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