Ability to easily create and manage editable variables directly from the Django admin panel
Project description
Django Content Settings
The django-content-settings module is a versatile addition to the Django ecosystem, offering users the ability to easily create and manage editable variables directly from the Django admin panel. What sets this module apart is its ability to handle variables of any type without restricting their complexity. Thanks to an integrated caching system, these variables can be used efficiently in code, irrespective of their complexity.
Key Features
- Type-Agnostic Variable Creation: Users can create variables of any type, making the module highly adaptable to various needs.
- Editability from Django Admin Panel: Seamless integration with the Django admin panel allows for effortless editing of variables.
- Caching System: Ensures high performance, negating the impact of variable complexity on code execution speed.
For the full documentation, please visit here.
▶️ YouTube Video with dive deep ~ 2h
How does it look
-
Setup. Here you can get step-by-step instruction.
-
Define the setting. To do so you need to define constant in
content_settings.pyin your app
# content_settings.py
from content_settings.types.basic import SimpleString
TITLE = SimpleString("Songs", help="The title of the site")
the code above defines a variable TITLE, with type SimpleString and default value Songs.
- Migrate. In order to be able to edit data in Django Admin
$ python manage.py migrate
Technically, you can use variable in code even without migration. The migration is need to make variable editable in admin panel
- Use it in your project. That is it. You can the variable
TITLEin your code.
from content_settings.conf import content_settings
content_settings.TITLE
In template:
<h2>{{CONTENT_SETTINGS.TITLE}}</h2>
In API:
$ curl http://127.0.0.1/content-settings/fetch/title/
Ok, I lied, in order to use in API you need to update permission from the setting:
# content_settings.py
from content_settings.types.basic import SimpleString
from content_settings import permissions
TITLE = SimpleString(
"Songs",
fetch_permission=permissions.any,
help="The title of the site",
)
Simple as that, we have a lot of types for settings you can use SimpleText, SimpleHTML, SimpleInt, SimpleBool, SimpleDecimal, DateTimeString, SimpleTimedelta, SimpleYAML, SimpleJSON, SimpleCSV, DjangoTemplate, DjangoModelTemplate, SimpleEval, SimpleExec and so on... Read more about the types available for you.
It is also very fast thanks to our caching system. Read more about it.
Some fancy things you can find in our cookbook.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file django_content_settings-0.10.2.tar.gz.
File metadata
- Download URL: django_content_settings-0.10.2.tar.gz
- Upload date:
- Size: 33.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.0 CPython/3.11.3 Darwin/23.3.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c7b52bcf73432fbfc6669d34fb57a536d539ae33f6835942843550dd37b4087
|
|
| MD5 |
67cfc2841ed0a5b3ef339675dfef3394
|
|
| BLAKE2b-256 |
fdc8d36988ce21cc8fd59973e81fbafb61d09b0490af15bf96dca5ac98dab7d7
|
File details
Details for the file django_content_settings-0.10.2-py3-none-any.whl.
File metadata
- Download URL: django_content_settings-0.10.2-py3-none-any.whl
- Upload date:
- Size: 43.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.0 CPython/3.11.3 Darwin/23.3.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
36d5c3be7332d2b3905d90dcb9663c14633f6477ac43c8920958bbc02b4cc981
|
|
| MD5 |
3355c3e33556aa7ee46162c0ca58c939
|
|
| BLAKE2b-256 |
abf43f62585df9a8073ce165a6af819754f1e9dc3232092e07e92ea7b9fed3b0
|