python built in server not loading css

匿名 (未验证) 提交于 2019-12-03 01:14:02

问题:

when i runserver the django admin is missing css.The web console says that style sheet was not loaded because its MIME type,"application/x-css", is not "text/css". This is my settings.py file

Django settings for mysite project.

DEBUG = True TEMPLATE_DEBUG = DEBUG  ADMINS = (     # ('Your Name', 'your_email@example.com'), )  MANAGERS = ADMINS  DATABASES = {     'default': {         'ENGINE': 'django.db.backends.sqlite3',          'NAME': 'C:/djangorevision/mysite/sqlite3.db',                       database          'USER': '',                      # Not used with sqlite3.         'PASSWORD': '',                  # Not used with sqlite3.         'HOST': '',                            'PORT': '',                          } }  ALLOWED_HOSTS = []   TIME_ZONE = 'America/Chicago'   LANGUAGE_CODE = 'en-us'  SITE_ID = 1  # If you set this to False, Django will make some optimizations so as not # to load the internationalization machinery. USE_I18N = True  # If you set this to False, Django will not format dates, numbers and # calendars according to the current locale. USE_L10N = True   USE_TZ = True  MEDIA_ROOT = ''  MEDIA_URL = ''   STATIC_ROOT = 'C:/djangorevision/mysite/static'  # URL prefix for static files. # Example: "http://media.lawrence.com/static/" STATIC_URL = '/static/'  # Additional locations of static files STATICFILES_DIRS = (  )  # List of finder classes that know how to find static files in # various locations. STATICFILES_FINDERS = (     'django.contrib.staticfiles.finders.FileSystemFinder',     'django.contrib.staticfiles.finders.AppDirectoriesFinder',  #    'django.contrib.staticfiles.finders.DefaultStorageFinder', )  # Make this unique, and don't share it with anybody. SECRET_KEY = '*4#u_xz-+7cp-x-)w(o*sr1&1$^fa409_d@7!&z%_(93u=@s=o'  TEMPLATE_LOADERS = (     'django.template.loaders.filesystem.Loader',     'django.template.loaders.app_directories.Loader', #     'django.template.loaders.eggs.Loader', )  MIDDLEWARE_CLASSES = (     'django.middleware.common.CommonMiddleware',     'django.contrib.sessions.middleware.SessionMiddleware',     'django.middleware.csrf.CsrfViewMiddleware',     'django.contrib.auth.middleware.AuthenticationMiddleware',     'django.contrib.messages.middleware.MessageMiddleware',     # Uncomment the next line for simple clickjacking protection:     # 'django.middleware.clickjacking.XFrameOptionsMiddleware', )  ROOT_URLCONF = 'mysite.urls'  # Python dotted path to the WSGI application used by Django's runserver. WSGI_APPLICATION = 'mysite.wsgi.application'  TEMPLATE_DIRS = (   )  INSTALLED_APPS = (     'django.contrib.auth',     'django.contrib.contenttypes',     'django.contrib.sessions',     'django.contrib.sites',     'django.contrib.messages',     'django.contrib.staticfiles',     # Uncomment the next line to enable the admin:      'django.contrib.admin',     # Uncomment the next line to enable admin documentation:     # 'django.contrib.admindocs',     'polls'

)

LOGGING = {     'version': 1,     'disable_existing_loggers': False,     'filters': {         'require_debug_false': {         }     },     'handlers': {         'mail_admins': {             'level': 'ERROR',             'filters': ['require_debug_false'],             'class': 'django.utils.log.AdminEmailHandler'         }     },     'loggers': {         'django.request': {             'handlers': ['mail_admins'],             'level': 'ERROR',             'propagate': True,`enter code here`         },     } }

回答1:

I just ran into the same problem. And it seems you are right about Dreamweaver. Adding above mentioned strings into settings.py didn't helped me.

I have run search for .css at regedit and changed most suspicious registry keys/records which

  1. could be related to treating .css files as application/x-css type
  2. could be related to associating .css file extension to opening with applications, especially Dreamweaver.

It took me two iterations and I can not say for sure which one was the right shot as it might needed some time to update some cache, etc.

Though I changed it at two locations:

  1. HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.css
  2. HKEY_CLASSES_ROOT\.css

I renamed (by adding leading '--' so that it could be recovered if necessary) keys/records related to .css files association with all applications (including Dreamweaver, Notepad, etc.) and stating .css files as application/x-css type.

After that the issue was resolved and Django CSS styles were correctly applied as it was expected.



回答2:

A little late answer but this needs to be put here for completeness.

I also got this strange error on one development system (I didn't get it on other development systems for the same project). Maybe it is related to the fact that Dreamweaver (which can open css files) was installed on this system?

In any case, to resolve the issue I added the following in my settings.py:

import mimetypes mimetypes.add_type("text/css", ".css", True)

This will add (and replace if already exists) the correct mimetype for css in your mimetypes list.

In case you don't want to put it in your settings.py, add it to the __init__.py file of yout settings package.



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!