environ allows you to use environment variables in your settings files, 
heres the docs
https://django-environ.readthedocs.io/en/latest/#

and my nginx config look like this... thanks

server {
    listen 80;
    server_name [domain name];
    ssl_dhparam /etc/ssl/certs/dhparam.pem;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /staticfiles/ {
        root /home/business_management;
    }

    location / {
        include proxy_params;
        proxy_pass 
http://unix:/home/business_management/business_management.sock;
    }
}





On Saturday, September 30, 2017 at 6:40:46 PM UTC-6, Alexander Joseph wrote:
>
> Hello,
>
> My site is deployed on an ubuntu/nginx/gunicorn droplet on digitalOcean. 
> For some reason my static files are not updating after running 
> collectstatic. I have access to older static files but cant make updates to 
> static files and see them in production. It works as it should on my 
> development computer. Its kind of like my staticfiles storage is some CDN 
> that I wasnt aware of and now when I run collectstatic its not putting the 
> files in the CDN anymore
>
> Below is my base settings configuration
>
> # settings/base.py
>
> import environ
>
> ROOT_DIR = environ.Path(__file__) - 3  # 
> (business_management/config/settings/base.py - 3 = business_management/)
> APPS_DIR = ROOT_DIR.path('business_management')
>
> # Load operating system environment variables and then prepare to use them
> env = environ.Env()
>
> # .env file, should load only in development environment
> READ_DOT_ENV_FILE = env.bool('DJANGO_READ_DOT_ENV_FILE', default=False)
>
> if READ_DOT_ENV_FILE:
>     # Operating System Environment variables have precedence over 
> variables defined in the .env file,
>     # that is to say variables from the .env files will only be used if 
> not defined
>     # as environment variables.
>     env_file = str(ROOT_DIR.path('.env'))
>     print('Loading : {}'.format(env_file))
>     env.read_env(env_file)
>     print('The .env file has been loaded. See base.py for more 
> information')
>
>
> # DEBUG
> # 
> ------------------------------------------------------------------------------
> # See: https://docs.djangoproject.com/en/dev/ref/settings/#debug
> DEBUG = env.bool('DJANGO_DEBUG', False)
>
>
> # Application definition
> # 
> ------------------------------------------------------------------------------
>
> INSTALLED_APPS = [
>     'django.contrib.admin',
>     'django.contrib.auth',
>     'django.contrib.contenttypes',
>     'django.contrib.sessions',
>     'django.contrib.messages',
>     'django.contrib.staticfiles',
>     
>     'django.contrib.sites',
>     'allauth',
>     'allauth.account',
>     'allauth.socialaccount',
>     'allauth_office365',
>     
>     'bootstrap4',
>     
>     'business_management.accounts',
>     'business_management.engineering',
> ]
>
> #SOCIALACCOUNT_ADAPTER = 'allauth_office365.adapter.SocialAccountAdapter'
> SOCIALACCOUNT_EMAIL_VERIFICATION = False
>
> SOCIALACCOUNT_PROVIDERS = {
>     'office365': {
>       'SCOPE': ['User.read',],
>       'USERNAME_FIELD': 'mail'
>     }
> }
>
> 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 = 'config.urls'
>
>
> TEMPLATES = [
>     {
>         # See: 
> https://docs.djangoproject.com/en/dev/ref/settings/#std:setting-TEMPLATES-BACKEND
>         'BACKEND': 'django.template.backends.django.DjangoTemplates',
>         # See: 
> https://docs.djangoproject.com/en/dev/ref/settings/#template-dirs
>         'DIRS': [
>             str(APPS_DIR.path('templates')),
>         ],
>         'OPTIONS': {
>             # See: 
> https://docs.djangoproject.com/en/dev/ref/settings/#template-debug
>             'debug': DEBUG,
>             # See: 
> https://docs.djangoproject.com/en/dev/ref/settings/#template-loaders
>             # 
> https://docs.djangoproject.com/en/dev/ref/templates/api/#loader-types
>             'loaders': [
>                 'django.template.loaders.filesystem.Loader',
>                 'django.template.loaders.app_directories.Loader',
>             ],
>             # See: 
> https://docs.djangoproject.com/en/dev/ref/settings/#template-context-processors
>             'context_processors': [
>                 'django.template.context_processors.debug',
>                 'django.template.context_processors.request',
>                 'django.contrib.auth.context_processors.auth',
>                 'django.template.context_processors.i18n',
>                 'django.template.context_processors.media',
>                 'django.template.context_processors.static',
>                 'django.template.context_processors.tz',
>                 'django.contrib.messages.context_processors.messages',
>                 # Your stuff: custom template context processors go here
>             ],
>         },
>     },
> ]
>
>
> WSGI_APPLICATION = 'config.wsgi.application'
>
>
> # Password validation
> # 
> ------------------------------------------------------------------------------
> # 
> https://docs.djangoproject.com/en/1.11/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',
>     },
> ]
>
> AUTHENTICATION_BACKENDS = (
>     # Needed to login by username in Django admin, regardless of `allauth`
>     'django.contrib.auth.backends.ModelBackend',
>     # `allauth` specific authentication methods, such as login by e-mail
>     'allauth.account.auth_backends.AuthenticationBackend',
> )
>
>
> # Internationalization
> # https://docs.djangoproject.com/en/1.11/topics/i18n/
> # 
> ------------------------------------------------------------------------------
> LANGUAGE_CODE = 'en-us'
>
> TIME_ZONE = 'America/Denver'
>
> USE_I18N = True
>
> USE_L10N = True
>
> USE_TZ = True
>
>
> # See: 
> https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/#staticfiles-finders
> STATICFILES_FINDERS = [
>     'django.contrib.staticfiles.finders.FileSystemFinder',
>     'django.contrib.staticfiles.finders.AppDirectoriesFinder',
> ]
>
>
> # AllAuth Settings
> # 
> ------------------------------------------------------------------------------
>
> AUTH_USER_MODEL = 'accounts.User'
>
> SITE_ID = 1
>
> LOGIN_REDIRECT_URL = 'dashboard'
> ACCOUNT_EMAIL_REQUIRED = True # email required to signup
> ACCOUNT_EMAIL_VERIFICATION = False # email verification manditory for 
> account verification
> ACCOUNT_AUTHENTICATION_METHOD = "username_email" # username or email
> #ACCOUNT_LOGIN_ON_EMAIL_CONFIRMATION = True
> #VERIFIED_EMAIL = True
> #ACCOUNT_FORMS = {'login': 'accounts.forms.MyLoginForm', 'sign_up': 
> 'accounts.forms.MySignupForm'}
> ACCOUNT_LOGIN_ATTEMPTS_LIMIT = 5
> ACCOUNT_LOGIN_ATTEMPTS_TIMEOUT = 300
> #ACCOUNT_SIGNUP_FORM_CLASS = 
> 'business_management.accounts.forms.UserCreateForm'
> ACCOUNT_USERNAME_MIN_LENGTH = 4
> ACCOUNT_LOGOUT_REDIRECT_URL = 'account_login'
> #ACCOUNT_SESSION_REMEMBER = None # Controls the life time of the session. 
> Set to None to ask the user 'Remember me?', False to not remember, and True 
> to always remember.
>
>
> and below is my production settings (sensitive data omitted)...
>
> from .base import *
>
> import json
>
>
> DEBUG = False
>
> WHITENOISE_MIDDLEWARE = ['whitenoise.middleware.WhiteNoiseMiddleware', ]
> MIDDLEWARE = WHITENOISE_MIDDLEWARE + MIDDLEWARE
>
> INSTALLED_APPS += ['gunicorn', ]
>
> # Static File Configuration
> # 
> ------------------------------------------------------------------------------
> # See: https://docs.djangoproject.com/en/dev/ref/settings/#static-root
> STATIC_ROOT = str(ROOT_DIR('staticfiles'))
>
> # See: https://docs.djangoproject.com/en/dev/ref/settings/#static-url
> STATIC_URL = "/staticfiles/"
>
> # See: 
> https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/#std:setting-STATICFILES_DIRS
> STATICFILES_DIRS = [
>     str(APPS_DIR.path('static')),
> ]
>
> When i run collectstatic new static files are going to the staticfolder 
> where I expect them to go also. Thanks for your help!
>

-- 
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/4742b402-4d86-4a06-a993-69b87d58d32f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to