A port of djaneiro to Pycharm
Java
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
docs
plugin
sublime @ 65c9efe
.gitignore
.gitmodules
CHANGELOG.md
LICENSE
README.markdown
TODO.md

README.markdown

Djaneiro for Pycharm

Note: the tools to convert the sublime snippets has been extracted to their own repo: https://github.com/brmc/shortbus

This is a port of the Djaneiro plugin for Sublime Text to Jetbrains'
Pycharm IDE.

It's a collection of live templates for common patterns encountered when building Django applications (with a couple generic python uses)
specifically useful for models, forms, widgets, views, and templates.

This was originally a pure port of the plugin, but new features have
been added not found in the original plugin. The Sublime text plugin can be
found here: https://github.com/squ1b3r/Djaneiro

In addition to what is listed there, the pycharm plugin includes templates
for:

* Postgres models and forms
* Widgets
* Settings
* Other missing fields found in django 1.10

Contents

Requirements

  • pycharm or jetbrains IDE with python plugin. (pycharm professional or
    intellij ultimate is required to recognize the django-template context)

Installation

The plugin can be installed directly from the jetbrains plugin repositories

Changelog

v1.2

  • Added live templates for django settings
  • Migrated to python 3.6 with no plans for backwards compatibility
  • fixed bug in postgres fields. they no longer expand to one giant variable
  • removed duplication of fip

v1.1

  • Updated templates from upstream
  • Included missing fields for models and forms
  • Added Postgres model and form fields
  • Added Widgets
  • Added transpiler to convert between sublime text and jetbrains
  • Created yml format to write live templates

Minor changes:

  • Added $END$ variables to all templates

v1.0

  • converted to an official plugin

v0.0.1

  • ported expansions for models, forms, completions, templates, and general
    python

Usage

Plugin

In either *.py or *.html files, type an abbreviation and press <TAB>.

Check here for a list of all the abbreviations/snippets:
https://github.com/squ1b3r/Djaneiro

See below for a list of abbreviations not
included with the original plugin

Additional Abbreviations

This section notes the features not found in the sublime text plugin.
A full listing of all the abbreviations in the docs

###Models

abbreviation template
mbigauto $VAR1$ = models.BigAutoField($VAR2$)$END$
mbin $VAR1$ = models.BinaryField($VAR2$)$END$
mdur $VAR1$ = models.DurationField($VAR2$)$END$
mgip $VAR1$ = models.GenericIPAddressField(protocol='$VAR2$', unpack_ipv4=$VAR3$)$END$
mip $VAR1$ = models.GenericIPAddressField(protocol='$VAR2$', unpack_ipv4=$VAR3$)$END$
muuid $VAR1$ = models.UUIDField($VAR2$)$END$

###Forms

abbreviation template
fgip $VAR1$ = forms.GenericIPAddressField($VAR2$)$END$
fip $VAR1$ = forms.GenericIPAddressField($VAR2$)$END$
fuuid $VAR1$ = forms.UUIDField($VAR2$)$END$

###Postgres

Forms

abbreviation template
farray $VAR1$ = SimpleArrayField(base_field=$VAR2$, delimiter=$:','$, max_length=$VAR3$, min_length=$VAR4$)$END$
fdaterange $VAR1$ = DateRangeField(min_value=$VAR2$, max_value=$VAR3$)$END$
fdatetimerange $VAR1$ = DateTimeRangeField(min_value=$VAR2$, max_value=$VAR3$)$END$
ffloatrange $VAR1$ = FloatRangeField(min_value=$VAR2$, max_value=$VAR3$)$END$
fhstore $VAR1$ = HStoreField($VAR2$)$END$
fintrange $VAR1$ = IntegerRangeField(min_value=$VAR2$, max_value=$VAR3$)$END$
fjson $VAR1$ = JSONField($VAR2$)$END$
fsplitarray $VAR1$ = SplitArrayField(base_field=$VAR2$, size=$VAR3$, remove_trailing_nulls=$VAR4$)$END$

Models

abbreviation template
marray $VAR1$ = fields.ArrayField(base_field=$VAR2$, size=$VAR3$)$END$
mbigintrange $VAR1$ = fields.BigIntegerRangeField($VAR2$)$END$
mdaterange $VAR1$ = fields.DateRangeField($VAR2$)$END$
mdatetimerange $VAR1$ = fields.DateTimeRangeField($VAR2$)$END$
mfloatrange $VAR1$ = fields.FloatRangeField($VAR2$)$END$
mhstore $VAR1$ = fields.HStoreField($VAR2$)$END$
mintrange $VAR1$ = fields.IntegerRangeField($VAR2$)$END$
mjson $VAR1$ = fields.JSONField($VAR2$)$END$

###Widgets

abbreviation template
wcheck $VAR1$ = forms.CheckboxInput(check_test=$VAR2$)$END$
wcheckmulti $VAR1$ = forms.CheckboxSelectMultiple($VAR2$)$END$
wclearablefile $VAR1$ = forms.ClearableFileInput($VAR2$)$END$
wdate $VAR1$ = forms.DateInput(format=$VAR2$)$END$
wdatetime $VAR1$ = forms.DateTimeInput(format=$VAR2$)$END$
wemail $VAR1$ = forms.EmailInput($VAR2$)$END$
wfile $VAR1$ = forms.FileInput($VAR2$)$END$
whidden $VAR1$ = forms.HiddenInput($VAR2$)$END$
wmultihidden $VAR1$ = forms.MultipleHiddenInput($VAR2$)$END$
wnullbool $VAR1$ = forms.NullBooleanSelect($VAR2$)$END$
wnum $VAR1$ = forms.NumberInput($VAR2$)$END$
wpass $VAR1$ = forms.PasswordInput(render_value=$VAR2$)$END$
wradio $VAR1$ = forms.RadioSelect($VAR2$)$END$
wselect $VAR1$ = forms.Select(choices=$VAR2$)$END$
wselectdate $VAR1$ = forms.SelectDateWidget($VAR2$)$END
wselectmulti $VAR1$ = forms.SelectMultiple($VAR2$)$END$
wsplitdatetime $VAR1$ = forms.SplitDateTimeWidget(date_format=$VAR2$, time_format=$VAR3$)$END$
wsplithiddendatetime $VAR1$ = forms.SplitHiddenDateTimeWidget($VAR2$)$END$
wtext $VAR1$ = forms.TextInput($VAR2$)$END$
wtextarea $VAR1$ = forms.Textarea($VAR2$)$END$
wtime $VAR1$ = forms.TimeInput(format=$VAR2$)$END$
wurl $VAR1$ = forms.URLInput($VAR2$)$END$

###Settings

Live templates are provided for all Django settings. The convention here
is to lowercase the settings name and prefix it with an s. Most of
them are one line, but the ones that are most useful are for the more
complex settings, specifically slogging and sdatabases. They
both come with sub-templates that only meaningful in the appropriate
context:

slogging

  • slogfilter
  • slogfiltercallback
  • slogfilterdebugfalse
  • slogfilterdebugtrue
  • slogformatter
  • slogformatterserver
  • slogger
  • sloghandler
  • sloghandleremail
  • sloghandlerstream

sdatabases

  • sdatabase
  • sdatabasetest

###Settings

abbreviation template
sabsolute_url_overrides
ABSOLUTE_URL_OVERRIDES = $VAR1$ $END$
sadmins
ADMINS = [('$VAR1$', '$VAR2$'), ]$END$
sallowed_hosts
ALLOWED_HOSTS = $VAR1$ $END$
sappend_slash
APPEND_SLASH = $VAR1$ $END$
sauth_password_validators
AUTH_PASSWORD_VALIDATORS = $VAR1$ $END$
sauth_user_model
AUTH_USER_MODEL = '$VAR1$' $END$
sauthentication_backends
AUTHENTICATION_BACKENDS = $VAR1$ $END$
scache_middleware_alias
CACHE_MIDDLEWARE_ALIAS = '$VAR1$' $END$
scache_middleware_key_prefix
CACHE_MIDDLEWARE_KEY_PREFIX = '$VAR1$' $END$
scache_middleware_seconds
CACHE_MIDDLEWARE_SECONDS = $VAR1$ $END$
scaches

CACHES = {
'$VAR1$': {
'BACKEND': 'django.core.cache.backends.$VAR2$',
'KEY_FUNCTION': $VAR3$,
'KEY_PREFIX': '$VAR4$',
'LOCATION': '$VAR5$',
'OPTIONS': $VAR6$,
'TIMEOUT': $VAR7$,
'VERSION': $VAR8$
},
$VAR9$
}
$END$
scsrf_cookie_age
CSRF_COOKIE_AGE = $VAR1$ $END$
scsrf_cookie_domain
CSRF_COOKIE_DOMAIN = $VAR1$ $END$
scsrf_cookie_httponly
CSRF_COOKIE_HTTPONLY = $VAR1$ $END$
scsrf_cookie_name
CSRF_COOKIE_NAME = '$VAR1$' $END$
scsrf_cookie_path
CSRF_COOKIE_PATH = '$VAR1$' $END$
scsrf_cookie_secure
CSRF_COOKIE_SECURE = $VAR1$ $END$
scsrf_failure_view
CSRF_FAILURE_VIEW = '$VAR1$' $END$
scsrf_header_name
CSRF_HEADER_NAME = '$VAR1$' $END$
scsrf_trusted_origins
CSRF_TRUSTED_ORIGINS = $VAR1$ $END$
sdata_upload_max_memory_size
DATA_UPLOAD_MAX_MEMORY_SIZE = $VAR1$ $END$
sdata_upload_max_number_fields
DATA_UPLOAD_MAX_NUMBER_FIELDS = $VAR1$ $END$
sdatabase
'$DBNAME$': {
'ENGINE': 'django.db.backends.$VAR2$',
'NAME': '$VAR3$',
'USER': '$VAR4$',
'PASSWORD': '$VAR5$',
'HOST': '$VAR6$',
'PORT': '$VAR7$',
'ATOMIC_REQUESTS': $VAR8$,
'AUTOCOMMIT': $VAR9$,
'CONN_MAX_AGE': $VAR10$,
'OPTIONS': $VAR11$,
'TIME_ZONE': $VAR12$,
'TEST': {
'NAME': 'test_$DBNAME$',
'CHARSET': $VAR14$,
'COLLATION': $VAR15$,
'DEPENDENCIES': ['$DBNAME$', $VAR17$],
'MIRROR': $VAR18$,
'SERIALIZE': $VAR19$,
},
}
sdatabase_routers
DATABASE_ROUTERS = $VAR1$ $END$
sdatabases
DATABASES = {
'$DBNAME$': {
'ENGINE': 'django.db.backends.$VAR2$',
'NAME': '$VAR3$',
'USER': '$VAR4$',
'PASSWORD': '$VAR5$',
'HOST': '$VAR6$',
'PORT': '$VAR7$',
'ATOMIC_REQUESTS': $VAR8$,
'AUTOCOMMIT': $VAR9$,
'CONN_MAX_AGE': $VAR10$,
'OPTIONS': $VAR11$,
'TIME_ZONE': $VAR12$,
'TEST': {
'NAME': 'test_$DBNAME$',
'CHARSET': $VAR14$,
'COLLATION': $VAR15$,
'DEPENDENCIES': ['$DBNAME$', $VAR17$],
'MIRROR': $VAR18$,
'SERIALIZE': $VAR19$,
},
}
}
$END$
sdatabasetest
'TEST': {
'NAME': $VAR1$,
'CHARSET': $VAR2$,
'COLLATION': $VAR3$,
'DEPENDENCIES': [$VAR4$],
'MIRROR': $VAR5$,
'SERIALIZE': $VAR6$,
}
sdate_format
DATE_FORMAT = '$VAR1$' $END$
sdate_input_formats
DATE_INPUT_FORMATS = [
'%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y',
'%b %d %Y', '%b %d, %Y',
'%d %b %Y', '%d %b, %Y',
'%B %d %Y', '%B %d, %Y',
'%d %B %Y', '%d %B, %Y',
'$VAR1$'
]
$end$
sdatetime_format
DATETIME_FORMAT = '$VAR1$' $END$
sdatetime_input_formats
DATETIME_INPUT_FORMATS = [
'%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59'
'%Y-%m-%d %H:%M:%S.%f', # '2006-10-25 14:30:59.000200'
'%Y-%m-%d %H:%M', # '2006-10-25 14:30'
'%Y-%m-%d', # '2006-10-25'
'%m/%d/%Y %H:%M:%S', # '10/25/2006 14:30:59'
'%m/%d/%Y %H:%M:%S.%f', # '10/25/2006 14:30:59.000200'
'%m/%d/%Y %H:%M', # '10/25/2006 14:30'
'%m/%d/%Y', # '10/25/2006'
'%m/%d/%y %H:%M:%S', # '10/25/06 14:30:59'
'%m/%d/%y %H:%M:%S.%f', # '10/25/06 14:30:59.000200'
'%m/%d/%y %H:%M', # '10/25/06 14:30'
'%m/%d/%y', # '10/25/06'
]
$END$
sdebug
DEBUG = $VAR1$ $END$
sdebug_propagate_exceptions
DEBUG_PROPAGATE_EXCEPTIONS = $VAR1$ $END$
sdecimal_separator
DECIMAL_SEPARATOR = '$VAR1$' $END$
sdefault_charset
DEFAULT_CHARSET = '$VAR1$' $END$
sdefault_content_type
DEFAULT_CONTENT_TYPE = '$VAR1$' $END$
sdefault_exception_reporter_filter
DEFAULT_EXCEPTION_REPORTER_FILTER = '$VAR1$' $END$
sdefault_file_storage
DEFAULT_FILE_STORAGE = '$VAR1$' $END$
sdefault_from_email
DEFAULT_FROM_EMAIL = '$VAR1$' $END$
sdefault_index_tablespace
DEFAULT_INDEX_TABLESPACE = '$VAR1$' $END$
sdefault_tablespace
DEFAULT_TABLESPACE = '$VAR1$' $END$
sdisallowed_user_agents
DISALLOWED_USER_AGENTS = $VAR1$ $END$
semail_backend
EMAIL_BACKEND = '$VAR1$' $END$
semail_host
EMAIL_HOST = '$VAR1$' $END$
semail_host_password
EMAIL_HOST_PASSWORD = '$VAR1$' $END$
semail_host_user
EMAIL_HOST_USER = '$VAR1$' $END$
semail_port
EMAIL_PORT = $VAR1$ $END$
semail_ssl_certfile
EMAIL_SSL_CERTFILE = $VAR1$ $END$
semail_ssl_keyfile
EMAIL_SSL_KEYFILE = $VAR1$ $END$
semail_subject_prefix
EMAIL_SUBJECT_PREFIX = '$VAR1$' $END$
semail_timeout
EMAIL_TIMEOUT = $VAR1$ $END$
semail_use_ssl
EMAIL_USE_SSL = $VAR1$ $END$
semail_use_tls
EMAIL_USE_TLS = $VAR1$ $END$
sfile_charset
FILE_CHARSET = '$VAR1$' $END$
sfile_upload_directory_permissions
FILE_UPLOAD_DIRECTORY_PERMISSIONS = $VAR1$ $END$
sfile_upload_handlers
FILE_UPLOAD_HANDLERS = [
'django.core.files.uploadhandler.MemoryFileUploadHandler',
'django.core.files.uploadhandler.TemporaryFileUploadHandler',
]$END$
sfile_upload_max_memory_size
FILE_UPLOAD_MAX_MEMORY_SIZE = $VAR1$ $END$
sfile_upload_permissions
FILE_UPLOAD_PERMISSIONS = $VAR1$ $END$
sfile_upload_temp_dir
FILE_UPLOAD_TEMP_DIR = $VAR1$ $END$
sfirst_day_of_week
FIRST_DAY_OF_WEEK = $VAR1$ $END$
sfixture_dirs
FIXTURE_DIRS = [$VAR1$] $END$
sforce_script_name
FORCE_SCRIPT_NAME = $VAR1$ $END$
sformat_module_path
FORMAT_MODULE_PATH = $VAR1$ $END$
signorable_404_urls
IGNORABLE_404_URLS = $VAR1$ $END$
sinstalled_apps
INSTALLED_APPS = $VAR1$ $END$
sinternal_ips
INTERNAL_IPS = $VAR1$ $END$
slanguage_code
LANGUAGE_CODE = '$VAR1$' $END$
slanguage_cookie_age
LANGUAGE_COOKIE_AGE = $VAR1$ $END$
slanguage_cookie_domain
LANGUAGE_COOKIE_DOMAIN = $VAR1$ $END$
slanguage_cookie_name
LANGUAGE_COOKIE_NAME = '$VAR1$' $END$
slanguage_cookie_path
LANGUAGE_COOKIE_PATH = '$VAR1$' $END$
slanguages
LANGUAGES = [
('af', gettext_noop('Afrikaans')),
('ar', gettext_noop('Arabic')),
('ast', gettext_noop('Asturian')),
('az', gettext_noop('Azerbaijani')),
('bg', gettext_noop('Bulgarian')),
('be', gettext_noop('Belarusian')),
('bn', gettext_noop('Bengali')),
('br', gettext_noop('Breton')),
('bs', gettext_noop('Bosnian')),
('ca', gettext_noop('Catalan')),
('cs', gettext_noop('Czech')),
('cy', gettext_noop('Welsh')),
('da', gettext_noop('Danish')),
('de', gettext_noop('German')),
('dsb', gettext_noop('Lower Sorbian')),
('el', gettext_noop('Greek')),
('en', gettext_noop('English')),
('en-au', gettext_noop('Australian English')),
('en-gb', gettext_noop('British English')),
('eo', gettext_noop('Esperanto')),
('es', gettext_noop('Spanish')),
('es-ar', gettext_noop('Argentinian Spanish')),
('es-co', gettext_noop('Colombian Spanish')),
('es-mx', gettext_noop('Mexican Spanish')),
('es-ni', gettext_noop('Nicaraguan Spanish')),
('es-ve', gettext_noop('Venezuelan Spanish')),
('et', gettext_noop('Estonian')),
('eu', gettext_noop('Basque')),
('fa', gettext_noop('Persian')),
('fi', gettext_noop('Finnish')),
('fr', gettext_noop('French')),
('fy', gettext_noop('Frisian')),
('ga', gettext_noop('Irish')),
('gd', gettext_noop('Scottish Gaelic')),
('gl', gettext_noop('Galician')),
('he', gettext_noop('Hebrew')),
('hi', gettext_noop('Hindi')),
('hr', gettext_noop('Croatian')),
('hsb', gettext_noop('Upper Sorbian')),
('hu', gettext_noop('Hungarian')),
('ia', gettext_noop('Interlingua')),
('id', gettext_noop('Indonesian')),
('io', gettext_noop('Ido')),
('is', gettext_noop('Icelandic')),
('it', gettext_noop('Italian')),
('ja', gettext_noop('Japanese')),
('ka', gettext_noop('Georgian')),
('kk', gettext_noop('Kazakh')),
('km', gettext_noop('Khmer')),
('kn', gettext_noop('Kannada')),
('ko', gettext_noop('Korean')),
('lb', gettext_noop('Luxembourgish')),
('lt', gettext_noop('Lithuanian')),
('lv', gettext_noop('Latvian')),
('mk', gettext_noop('Macedonian')),
('ml', gettext_noop('Malayalam')),
('mn', gettext_noop('Mongolian')),
('mr', gettext_noop('Marathi')),
('my', gettext_noop('Burmese')),
('nb', gettext_noop('Norwegian Bokmål')),
('ne', gettext_noop('Nepali')),
('nl', gettext_noop('Dutch')),
('nn', gettext_noop('Norwegian Nynorsk')),
('os', gettext_noop('Ossetic')),
('pa', gettext_noop('Punjabi')),
('pl', gettext_noop('Polish')),
('pt', gettext_noop('Portuguese')),
('pt-br', gettext_noop('Brazilian Portuguese')),
('ro', gettext_noop('Romanian')),
('ru', gettext_noop('Russian')),
('sk', gettext_noop('Slovak')),
('sl', gettext_noop('Slovenian')),
('sq', gettext_noop('Albanian')),
('sr', gettext_noop('Serbian')),
('sr-latn', gettext_noop('Serbian Latin')),
('sv', gettext_noop('Swedish')),
('sw', gettext_noop('Swahili')),
('ta', gettext_noop('Tamil')),
('te', gettext_noop('Telugu')),
('th', gettext_noop('Thai')),
('tr', gettext_noop('Turkish')),
('tt', gettext_noop('Tatar')),
('udm', gettext_noop('Udmurt')),
('uk', gettext_noop('Ukrainian')),
('ur', gettext_noop('Urdu')),
('vi', gettext_noop('Vietnamese')),
('zh-hans', gettext_noop('Simplified Chinese')),
('zh-hant', gettext_noop('Traditional Chinese')),
]
$END$
slanguages_bidi
LANGUAGES_BIDI = ["he", "ar", "fa", "ur", $VAR1$] $END$
slocale_paths
LOCALE_PATHS = $VAR1$ $END$
slogfilter
'$VAR1$': {
'$VAR2$': '$VAR3$',
},$END$
slogfiltercallback
'$VAR1$': {
'()': 'django.utils.log.CallbackFilter',
},$END$
slogfilterdebugfalse
'$VAR1$': {
'()': 'django.utils.log.RequireDebugFalse',
},$END$
slogfilterdebugtrue
'$VAR1$': {
'()': 'django.utils.log.RequireDebugTrue',
},$END$
slogformatter
'$VAR1$': {
'()': '$VAR2$',
'format': '$VAR3$',
}$END$
slogformatterserver
'$VAR1$': {
'()': 'django.utils.log.ServerFormatter',
'format': '$VAR2$',
}$END$
slogger
'$VAR1$': {
'handlers': ['$VAR2$'],
'level': '$VAR3$',
'propagate': $VAR4$,
}$END$
slogging
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
$VAR1$
},
'filters': {
$VAR2$
},
'handlers': {
$VAR3$
},
'loggers': {
$VAR4$
}
}
$END$
slogging_config
LOGGING_CONFIG = '$VAR1$' $END$
sloghandler
'$VAR1$': {
'level': '$VAR2$',
'filters': ['$VAR3$'],
'class': '$VAR4$',
},$END$
sloghandleremail
'$VAR1$': {
'level': '$VAR2$',
'filters': ['$VAR3$'],
'class': 'django.utils.log.AdminEmailHandler'
},$END$
sloghandlerstream
'$VAR1$': {
'level': '$VAR2$',
'filters': ['$VAR3$'],
'class': 'logging.StreamHandler',
},$END$
slogin_redirect_url
LOGIN_REDIRECT_URL = '$VAR1$' $END$
slogin_url
LOGIN_URL = '$VAR1$' $END$
slogout_redirect_url
LOGOUT_REDIRECT_URL = $VAR1$ $END$
smanagers
MANAGERS = $VAR1$ $END$
smedia_root
MEDIA_ROOT = '$VAR1$' $END$
smedia_url
MEDIA_URL = '$VAR1$' $END$
smessage_level
MESSAGE_LEVEL = $VAR1$ $END$
smessage_storage
MESSAGE_STORAGE = '$VAR1$' $END$
smessage_tags
MESSAGE_TAGS = {
messages.DEBUG: '$VAR1$',
messages.INFO: '$VAR2$',
messages.SUCCESS: '$VAR3$',
messages.WARNING: '$VAR4$',
messages.ERROR: '$VAR5$',
}
$END$
smiddleware
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',
]
$END$
smiddleware_classes
MIDDLEWARE_CLASSES = [
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'$VAR1$'
]
$END$
smigration_modules
MIGRATION_MODULES = $VAR1$ $END$
smonth_day_format
MONTH_DAY_FORMAT = '$VAR1$' $END$
snumber_grouping
NUMBER_GROUPING = $VAR1$ $END$
spassword_hashers
PASSWORD_HASHERS = [
'django.contrib.auth.hashers.PBKDF2PasswordHasher',
'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher',
'django.contrib.auth.hashers.Argon2PasswordHasher',
'django.contrib.auth.hashers.BCryptSHA256PasswordHasher',
'django.contrib.auth.hashers.BCryptPasswordHasher',
'$VAR1$'
]
$END$
spassword_reset_timeout_days
PASSWORD_RESET_TIMEOUT_DAYS = $VAR1$ $END$
sprepend_www
PREPEND_WWW = $VAR1$ $END$
sroot_urlconf
ROOT_URLCONF = '$VAR1$'
ssecret_key
SECRET_KEY = '$VAR1$' $END$
ssecure_browser_xss_filter
SECURE_BROWSER_XSS_FILTER = $VAR1$ $END$
ssecure_content_type_nosniff
SECURE_CONTENT_TYPE_NOSNIFF = $VAR1$ $END$
ssecure_hsts_include_subdomains
SECURE_HSTS_INCLUDE_SUBDOMAINS = $VAR1$ $END$
ssecure_hsts_seconds
SECURE_HSTS_SECONDS = $VAR1$ $END$
ssecure_proxy_ssl_header
SECURE_PROXY_SSL_HEADER = $VAR1$ $END$
ssecure_redirect_exempt
SECURE_REDIRECT_EXEMPT = $VAR1$ $END$
ssecure_ssl_host
SECURE_SSL_HOST = $VAR1$ $END$
ssecure_ssl_redirect
SECURE_SSL_REDIRECT = $VAR1$ $END$
sserialization_modules
SERIALIZATION_MODULES = {'$VAR1$' '$VAR2$'}
sserver_email
SERVER_EMAIL = '$VAR1$' $END$
ssession_cache_alias
SESSION_CACHE_ALIAS = '$VAR1$' $END$
ssession_cookie_age
SESSION_COOKIE_AGE = $VAR1$ $END$
ssession_cookie_domain
SESSION_COOKIE_DOMAIN = $VAR1$ $END$
ssession_cookie_httponly
SESSION_COOKIE_HTTPONLY = $VAR1$ $END$
ssession_cookie_name
SESSION_COOKIE_NAME = '$VAR1$' $END$
ssession_cookie_path
SESSION_COOKIE_PATH = '$VAR1$' $END$
ssession_cookie_secure
SESSION_COOKIE_SECURE = $VAR1$ $END$
ssession_engine
SESSION_ENGINE = '$VAR1$' $END$
ssession_expire_at_browser_close
SESSION_EXPIRE_AT_BROWSER_CLOSE = $VAR1$ $END$
ssession_file_path
SESSION_FILE_PATH = $VAR1$ $END$
ssession_save_every_request
SESSION_SAVE_EVERY_REQUEST = $VAR1$ $END$
ssession_serializer
SESSION_SERIALIZER = '$VAR1$' $END$
sshort_date_format
SHORT_DATE_FORMAT = '$VAR1$' $END$
sshort_datetime_format
SHORT_DATETIME_FORMAT = '$VAR1$' $END$
ssigning_backend
SIGNING_BACKEND = '$VAR1$' $END$
ssilenced_system_checks
SILENCED_SYSTEM_CHECKS = $VAR1$ $END$
ssite_id
SITE_ID = $VAR1$
sstatic_files_finders
STATICFILES_FINDERS = [
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
$VAR1$
]
$END$
sstatic_root
STATIC_ROOT = $VAR1$ $END$
sstatic_url
STATIC_URL = '$VAR1$' $END$
sstaticfiles_dirs
STATICFILES_DIRS = [$VAR1$] $END$
sstaticfiles_storage
STATICFILES_STORAGE = '$VAR1$' $END$
stemplates
TEMPLATES = [
{
'BACKEND': '$VAR1$',
'APP_DIRS': $VAR2$,
'DIRS': [
$VAR3$
],
'OPTIONS': {$VAR4$},
},
]
$END$

stest_non_serialized_apps
TEST_NON_SERIALIZED_APPS = $VAR1$ $END$
stest_runner
TEST_RUNNER = '$VAR1$' $END$
sthousand_separator
THOUSAND_SEPARATOR = '$VAR1$' $END$
stime_format
TIME_FORMAT = '$VAR1$' $END$
stime_input_formats
TIME_INPUT_FORMATS = [
'%H:%M:%S',
'%H:%M:%S.%f',
'%H:%M',
'$VAR1$'
]
$END$
stime_zone
TIME_ZONE = '$VAR1$' $END$
suse_etags
USE_ETAGS = $VAR1$ $END$
suse_i18n
USE_I18N = $VAR1$ $END$
suse_l10n
USE_L10N = $VAR1$ $END$
suse_thousand_separator
USE_THOUSAND_SEPARATOR = $VAR1$ $END$
suse_tz
USE_TZ = $VAR1$ $END$
suse_x_forwarded_host
USE_X_FORWARDED_HOST = $VAR1$ $END$
suse_x_forwarded_port
USE_X_FORWARDED_PORT = $VAR1$ $END$
swsgi_application
WSGI_APPLICATION = $VAR1$ $END$
sx_frame_options
X_FRAME_OPTIONS = '$VAR1$' $END$
syear_month_format
YEAR_MONTH_FORMAT = '$VAR1$' $END$