我在openshift中托管了一个Django 1.7站点,但它显示404错误访问静态文件,如css / js / img,即它不提供静态文件。 这是我网站的网址http://by120in-pnikhilvarma.rhcloud.com/ 这是我的settings.py代码
"""
Django settings for by120 project.
For more information on this file, see
https://docs.djangoproject.com/en/1.7/topics/settings/
For the full list of settings and their values, see
https://docs.djangoproject.com/en/1.7/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.7/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = '<secret>'
# 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',
'catalog',
'cart',
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
TEMPLATE_CONTEXT_PROCESSORS = (
"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.request",
"django.core.context_processors.static",
"django.core.context_processors.tz",
"django.contrib.messages.context_processors.messages",
)
ROOT_URLCONF = 'by120.urls'
WSGI_APPLICATION = 'by120.wsgi.application'
# Database
# https://docs.djangoproject.com/en/1.7/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
# Internationalization
# https://docs.djangoproject.com/en/1.7/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.7/howto/static-files/
STATIC_URL = '/static/'
STATIC_PATH = os.path.join(BASE_DIR, 'static')
STATICFILES_DIRS = (STATIC_PATH, )
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
TEMPLATE_PATH = os.path.join(BASE_DIR, 'templates')
TEMPLATE_DIRS = (TEMPLATE_PATH,)
SITE_NAME = 'By120'
META_KEYWORDS = 'Tee-shirts, Fashion, Design, Custom'
META_DISCRIPTION = 'By120 is a online fashion store for out of the box tee-shirt designs. Our designs make you look cool and compleate'
我的url.py代码是
from django.conf import settings
from django.conf.urls import patterns, include, url
from django.conf.urls.static import static
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# Examples:
url(r'^$', 'products.views.home', name='home'),
url(r'^s/$', 'products.views.search', name='search'),
url(r'^products/$', 'products.views.all', name='products'),
url(r'^products/(?P<slug>[\w-]+)/$', 'products.views.single', name='single_product'),
url(r'^cart/(?P<id>\d+)/$', 'carts.views.remove_from_cart', name='remove_from_cart'),
url(r'^cart/(?P<slug>[\w-]+)/$', 'carts.views.add_to_cart', name='add_to_cart'),
url(r'^cart/$', 'carts.views.view', name='cart'),
url(r'^checkout/$', 'orders.views.checkout', name='checkout'),
url(r'^orders/$', 'orders.views.orders', name='user_orders'),
url(r'^ajax/dismiss_marketing_message/$', 'marketing.views.dismiss_marketing_message', name='dismiss_marketing_message'),
url(r'^ajax/email_signup/$', 'marketing.views.email_signup', name='ajax_email_signup'),
url(r'^ajax/add_user_address/$', 'accounts.views.add_user_address', name='ajax_add_user_address'),
# url(r'^blog/', include('blog.urls')),
#(?P<all_items>.*)
#(?P<id>\d+)
url(r'^admin/', include(admin.site.urls)),
url(r'^accounts/logout/$', 'accounts.views.logout_view', name='auth_logout'),
url(r'^accounts/login/$', 'accounts.views.login_register_view', name='auth_login'),
#url(r'^accounts/register/$', 'accounts.views.registration_view', name='auth_register'),
url(r'^accounts/address/add/$', 'accounts.views.add_user_address', name='add_user_address'),
url(r'^accounts/activate/(?P<activation_key>\w+)/$', 'accounts.views.activation_view', name='activation_view'),
)
if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
答案 0 :(得分:0)
尝试使用python manage.py collectstatic
- 在这种情况下为我工作过一次。