On 16/05/2019 11:15 pm, chirag soni wrote:
I deployed a django based app on WAMP server using mod_wsgi and to
serve all the static files I run the `py manage.py collectstatic`
command. I checked that the site is serving well but the static files
are serving only when DEBUG=True. But as per the Django's document
<https://docs.djangoproject.com/en/2.2/howto/static-files/#configuring-static-files>
`DEBUG=True` will serve the static files on the development server for
other servers we should use `DEBUG=False`.
I also checked that all the static files got collected after
`collectstatic`
They will all be collected under a particular directory on the server
file system. Typically the last directory name on that path is ../static
although it could be anything you like.
When DEBUG is False Django assumes it does not need to server static
files because the web server itself is best placed to do that. Why
should Django do anything else other than execute your software? That
would be wasteful of resources. On the other hand, the webserver (Apache
or nginx) is designed specifically to serve static files.
manage.py collectstatic --settings=<project-settings.py> will gather all
your static files from directories with their roots (typically
os.path.join(BASE_DIR, 'static/' and os.path.join(BASE_DIR,
'<app-name>/static/')) listed in STATICFILES_DIRS and put them into a
tree of directories rooted at STATIC_ROOT as specified in settings.py
Your web server needs to be configured to serve static files.
Here is an Apache config static files snippet which serves static files
from the exact directory specified in STATIC_ROOT in settings.py. I have
configured mine to keep static files from all vhosts in a single root
separated by project name but away from the individual project roots.
# serve static stuff from here
<Directory /var/www/static/<project-name-here>/>
AllowOverride None
Require all granted
</Directory>
I have not read your email beyond the line which says you are not
understanding so I apologise if I have led you astray.
hth
Mike
**I am not understanding why it is happening.**
*Below is the settings.py file*
*-----------------------------------------------------*
"""
Django settings for olxApp project.
Generated by 'django-admin startproject' using Django 2.1.5.
For more information on this file, see
https://docs.djangoproject.com/en/2.1/topics/settings/
For the full list of settings and their values, see
https://docs.djangoproject.com/en/2.1/ref/settings/
"""
import os
# Build paths inside the project like this: os.path.join(BASE_DIR,
...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# Quick-start development settings - unsuitable for production
# See
https://docs.djangoproject.com/en/2.1/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = ''
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG =False
THUMBNAIL_DEBUG = False
ALLOWED_HOSTS = ['10.0.100.148','127.0.0.1','192.168.1.8','localhost']
# Application definition
INSTALLED_APPS = [
'olx.apps.OlxConfig',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'sorl.thumbnail',
'bootstrap3',
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'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 = 'olxApp.urls'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'olxApp/templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
WSGI_APPLICATION = 'olxApp.wsgi.application'
# Database
# https://docs.djangoproject.com/en/2.1/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
# Password validation
#
https://docs.djangoproject.com/en/2.1/ref/settings/#auth-password-validators
AUTH_PASSWORD_VALIDATORS = [
{
'NAME':
'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
{
'NAME':
'django.contrib.auth.password_validation.MinimumLengthValidator',
},
{
'NAME':
'django.contrib.auth.password_validation.CommonPasswordValidator',
},
{
'NAME':
'django.contrib.auth.password_validation.NumericPasswordValidator',
},
]
#Added by chirag
#Note: For site normal user 'olx.myLdapAuth.MyLdapAuth' will be
used and for admin 'django.contrib.auth.backends.ModelBackend'
#will be used
AUTHENTICATION_BACKENDS = ['olx.myLdapAuth.MyLdapAuth',
'django.contrib.auth.backends.ModelBackend']
# Internationalization
# https://docs.djangoproject.com/en/2.1/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/2.1/howto/static-files/
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'olxApp/static'),
)
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR,'media')
*
*
*Urls.py file*
*------------------------------------------------------------------*
from django.contrib import admin
from django.urls import include,path
from django.conf.urls.static import static
from django.conf import settings
urlpatterns = [
path('olx/', include('olx.urls')),
path('admin/', admin.site.urls),
]
urlpatterns += static(settings.MEDIA_URL,
document_root=settings.MEDIA_ROOT)
urlpatterns +=static(settings.STATIC_URL,
document_root=settings.STATIC_ROOT)
*Content of Apache's httpd.conf file for loading the Django app*
*--------------------------------------------------------------------------------------------*
LoadFile
"c:/users/chirag.soni/appdata/local/programs/python/python37/python37.dll"
LoadModule wsgi_module
"c:/users/chirag.soni/appdata/local/programs/python/python37/lib/site-packages/mod_wsgi/server/mod_wsgi.cp37-win_amd64.pyd"
WSGIPythonHome
"c:/users/chirag.soni/appdata/local/programs/python/python37"
WSGIScriptAlias /
"C:\Users\chirag.soni\Downloads\olxApp\olxApp\wsgi.py"
WSGIPythonPath "C:\Users\chirag.soni\Downloads\olxApp"
Alias /media/ "C:\Users\chirag.soni\Downloads\olxApp\media\"
Alias /static/ "C:\Users\chirag.soni\Downloads\olxApp\static\"
<Directory "C:\Users\chirag.soni\Downloads\olxApp\media">
Require all granted
</Directory>
<Directory "C:\Users\chirag.soni\Downloads\olxApp\static">
Require all granted
</Directory>
<Directory "C:\Users\chirag.soni\Downloads\olxApp\olxApp">
<Files wsgi.py>
Require all granted
</Files>
</Directory>
--
You received this message because you are subscribed to the Google
Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected]
<mailto:[email protected]>.
To post to this group, send email to [email protected]
<mailto:[email protected]>.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/CABCRpYML2vOuZ-fjEbr2Lp2UP4XeAqO7M6msyeue1cScnuRKVw%40mail.gmail.com
<https://groups.google.com/d/msgid/django-users/CABCRpYML2vOuZ-fjEbr2Lp2UP4XeAqO7M6msyeue1cScnuRKVw%40mail.gmail.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Django
users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/60168c11-71d9-a084-e2d0-e7deb1e48b57%40dewhirst.com.au.
For more options, visit https://groups.google.com/d/optout.