在管理页面的collectstatic没有css之后

时间:2015-01-28 17:53:28

标签: python css django

以下是我的setting.py:

的设置
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')


STATIC_URL = 'static/'
MEDIA_URL = 'media/'

TEMPLATE_DIRS = (
    os.path.join(BASE_DIR, 'templates').replace('\\','/'),
)

TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.Loader',
    'django.template.loaders.app_directories.Loader',
    'django.template.loaders.eggs.Loader',
)

我做collectstatic。一切都很好,除了admin css不再有用了。

2 个答案:

答案 0 :(得分:3)

听起来我觉得你缺少一些设置。当您利用staticfiles应用时,您需要指示Django在开发中为这些文件提供服务的位置 - DEBUG = True时。当DEBUG = False你需要使用Apache,Nginx或其他一些Http服务器来为你的静态媒体服务 - 而不是Django。

您需要具备以下设置:

INSTALLED_APPS = (
    . . .
    'django.contrib.staticfiles',
)


STATICFILES_DIRS = (
    ('/path/to/your/development/static/directory'),
)

# this is where manage.py collectstatic will copy *all* static media to
STATIC_ROOT = '/path/to/your/production/static/direcotry'

STATIC_URL = '/static/'  # or whatever you want

答案 1 :(得分:0)

我遇到了类似的问题...结果是我在设置中添加了 STATICFILES_FINDERS 并注释掉了 AppDirectoriesFinder,因此它没有收集我所有的应用程序,包括管理应用程序...这可能是一个可能的原因缺少管理 css 文件 ;) 我的 STATICFILES_FINDERS:

module.exports = () => {
  return {
    entry: {
      index: './src/index.ts',
    },
    output: {
      filename: '[name].js',
      libraryTarget: 'umd',
      library: 'DummyComponent',
      umdNamedDefine: true,
    },
    resolve: {
      extensions: ['.ts', '.tsx', '.js', '.jsx', '.json'],
    },
    devtool: 'source-map',
    module: {
      rules: [
        {
          test: /\.tsx?$/,
          // loader: 'awesome-typescript-loader',
          loader: 'ts-loader',
        },
      ],
    },
  };
};