Django Rest Framework-缺少静态目录

我最近在Ubuntu 14.04上启动了带有预安装Django映像的Digital Ocean服务器。我想创建一个API,并决定使用Django Rest Framework。我完全按照http://www.django-rest-framework.org/安装了Django Rest Framework 。

这是我在服务器上访问该教程网站时的外观。

如你所见,它看起来与其余框架教程网站上的网站不同。这是因为,当我查看站点的源代码时,所有/static/rest_framework/*文件都给我一个404错误。

这是Django’django_project’根目录中的我的settings.py文件。

"""

Django settings for django_project project.

For more information on this file, see

https://docs.djangoproject.com/en/1.6/topics/settings/

For the full list of settings and their values, see

https://docs.djangoproject.com/en/1.6/ref/settings/

"""

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)

import os

BASE_DIR = os.path.dirname(os.path.dirname(__file__))

# Quick-start development settings - unsuitable for production

# See https://docs.djangoproject.com/en/1.6/howto/deployment/checklist/

# SECURITY WARNING: keep the secret key used in production secret!

SECRET_KEY = '7Vnib8zBUEV3LfacGKi2rT185N36A8svyq8azJLvNpv7BxxzMK'

# SECURITY WARNING: don't run with debug turned on in production!

DEBUG = True

TEMPLATE_DEBUG = True

ALLOWED_HOSTS = []

# Application definition

INSTALLED_APPS = (

'django.contrib.admin',

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles',

'rest_framework',

)

REST_FRAMEWORK = {

# Use hyperlinked styles by default.

# Only used if the `serializer_class` attribute is not set on a view.

'DEFAULT_MODEL_SERIALIZER_CLASS':

'rest_framework.serializers.HyperlinkedModelSerializer',

# Use Django's standard `django.contrib.auth` permissions,

# or allow read-only access for unauthenticated users.

'DEFAULT_PERMISSION_CLASSES': [

'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly'

]

}

MIDDLEWARE_CLASSES = (

'django.contrib.sessions.middleware.SessionMiddleware',

'django.middleware.common.CommonMiddleware',

'django.middleware.csrf.CsrfViewMiddleware',

'django.contrib.auth.middleware.AuthenticationMiddleware',

'django.contrib.messages.middleware.MessageMiddleware',

'django.middleware.clickjacking.XFrameOptionsMiddleware',

)

ROOT_URLCONF = 'django_project.urls'

WSGI_APPLICATION = 'django_project.wsgi.application'

# Database

# https://docs.djangoproject.com/en/1.6/ref/settings/#databases

DATABASES = {

'default': {

'ENGINE': 'django.db.backends.postgresql_psycopg2',

'NAME': 'django',

'USER': 'django',

'PASSWORD': 'yj4SM6qcP0',

'HOST': 'localhost',

'PORT': '',

}

}

# Internationalization

# https://docs.djangoproject.com/en/1.6/topics/i18n/

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_L10N = True

USE_TZ = True

# Static files (CSS, JavaScript, Images)

# https://docs.djangoproject.com/en/1.6/howto/static-files/

STATIC_URL = '/static/'

谁能帮助我解决此丢失的/ static / rest_framework /位置错误?如果我要为我的应用程序提供一个API,我希望它是一个好看的应用程序。

让我知道你是否需要其他任何帮助来解决此问题,并在此先感谢你的帮助。

回答:

我找到了解决我问题的方法!

经过大量令人费解的研究之后,我重新阅读了这个堆栈溢出问题,该问题上次查看时似乎没有帮助。

我的django_project文件夹中的新settings.py现在看起来像这样。

"""

Django settings for django_project project.

For more information on this file, see

https://docs.djangoproject.com/en/1.6/topics/settings/

For the full list of settings and their values, see

https://docs.djangoproject.com/en/1.6/ref/settings/

"""

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)

import os

BASE_DIR = os.path.dirname(os.path.dirname(__file__))

# Quick-start development settings - unsuitable for production

# See https://docs.djangoproject.com/en/1.6/howto/deployment/checklist/

# SECURITY WARNING: keep the secret key used in production secret!

SECRET_KEY = 'DwGCDqtcqzzGO2XK87u7bVSEUqHogZRFl4UdhkcCudSHxLUVvx'

# SECURITY WARNING: don't run with debug turned on in production!

DEBUG = True

TEMPLATE_DEBUG = True

ALLOWED_HOSTS = ['*']

# Application definition

INSTALLED_APPS = (

'django.contrib.admin',

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles',

'rest_framework',

)

REST_FRAMEWORK = {

# Use hyperlinked styles by default.

# Only used if the `serializer_class` attribute is not set on a view.

'DEFAULT_MODEL_SERIALIZER_CLASS':

'rest_framework.serializers.HyperlinkedModelSerializer',

# Use Django's standard `django.contrib.auth` permissions,

# or allow read-only access for unauthenticated users.

'DEFAULT_PERMISSION_CLASSES': [

'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly'

]

}

MIDDLEWARE_CLASSES = (

'django.contrib.sessions.middleware.SessionMiddleware',

'django.middleware.common.CommonMiddleware',

'django.middleware.csrf.CsrfViewMiddleware',

'django.contrib.auth.middleware.AuthenticationMiddleware',

'django.contrib.messages.middleware.MessageMiddleware',

'django.middleware.clickjacking.XFrameOptionsMiddleware',

)

ROOT_URLCONF = 'django_project.urls'

WSGI_APPLICATION = 'django_project.wsgi.application'

# Database

# https://docs.djangoproject.com/en/1.6/ref/settings/#databases

DATABASES = {

'default': {

'ENGINE': 'django.db.backends.postgresql_psycopg2',

'NAME': 'django',

'USER': 'django',

'PASSWORD': 'mpOQzpYFci',

'HOST': 'localhost',

'PORT': '',

}

}

# Internationalization

# https://docs.djangoproject.com/en/1.6/topics/i18n/

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_L10N = True

USE_TZ = True

# Static files (CSS, JavaScript, Images)

# https://docs.djangoproject.com/en/1.6/howto/static-files/

STATIC_ROOT = '/home/django/django_project/django_project/static'

STATIC_URL = '/static/'

STATICFILES_DIRS = (

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

)

现在,我的django_project文件夹中的settings.py文件旁边有一个名为“ static”的文件夹,其中包含所有必需的资源,例如“ rest_framework”和“ admin”。进行此更改后,我重新启动了gunicorn,并重新加载了我的网页,它开始工作了!

以上是 Django Rest Framework-缺少静态目录 的全部内容, 来源链接: utcz.com/qa/429408.html

回到顶部