A blog application for Django sites, inspired by classic WordPress.
Project description
DJ Press
A blog application for Django sites, inspired by classic WordPress, available on PyPI.
Warning - very alpha.
Goals
Why build another blog engine? These are my goals...
- Simple to get started with sensible defaults: install plugin, configure
urls.py, and migrate. - Follows Django patterns: configuration in
settings.py, content management in the Django admin. - Configurable to suit a wide variety of use-cases: lots of configuration available, but not required.
- Customisable with themes: themes can be written using only template tags, no knowledge of models required.
- Customisable with plugins: simple plugins are easy to write, but complex plugins are possible.
- Powerful but lightweight: provide core functionality, allow plugins to fill gaps and enhance.
Versioning
This package uses semantic versioning, but until we reach version 1.x.x, the following rules will apply:
- MAJOR version will remain on 0 until the base functionality is complete.
- MINOR version indicates that an incompatible or breaking change has been introduced.
- PATCH version indicates a bug fix or a backward compatible change.
If you choose to use this package prior to version 1.x being release, please pin your requirements to a specific minor version, e.g. djpress~=0.16.0
Installation
- Install
djpressby adding it to your requirements file, e.g.djpress~=0.16.0(see versioning note, above). - Add it to your
INSTALLED_APPSin Django:
INSTALLED_APPS = [
# ...
"djpress.apps.DjpressConfig",
# ...
]
- Add the URLs to your project's main
urls.pyfile.
The following will set DJ Press to be available at the root of your site, e.g. https://example.com/
from django.urls import path, include
urlpatterns = [
# ...
path("", include("djpress.urls")),
# ...
]
If you want your blog to be in a subdirectory, use something like the following:
from django.urls import path, include
urlpatterns = [
# ...
path("blog/", include("djpress.urls")),
# ...
]
- Run migrations:
python3 manage.py migrate
Note that this relies on the Django Admin for content management, so ensure that you have a user with at least
staffstatus to manage content.
Configuration
In your settings.py file, create a DJPRESS_SETTINGS dictionary. Here are some common settings:
# DJPress settings
DJPRESS_SETTINGS = {
"SITE_TITLE": "My Awesome Blog",
"POST_PREFIX": "{{ year }}/{{ month }}", # blog post URLs are prefixed with "year/month": /2024/10/blog-post-slug/
}
There are lots more settings available. Please check the docs or look at the source code: src/djpress/app_settings.py
Documentation
Documentation is a work-in-progress, but is available on GitHub Pages: https://stuartmaxwell.github.io/djpress
Badges
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 djpress-0.20.4.tar.gz.
File metadata
- Download URL: djpress-0.20.4.tar.gz
- Upload date:
- Size: 185.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c78d32c95761a7e19006c1237b6a3c7f4f3d0d1eb289496e15d7d71a0f99dec0
|
|
| MD5 |
626746d73cdf3b7d2c389c96ec358ce1
|
|
| BLAKE2b-256 |
9b5503c7f4563969a96f154c615021b821300f9b8074620cef7cd484b80e4bee
|
Provenance
The following attestation bundles were made for djpress-0.20.4.tar.gz:
Publisher:
publish.yml on stuartmaxwell/djpress
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
djpress-0.20.4.tar.gz -
Subject digest:
c78d32c95761a7e19006c1237b6a3c7f4f3d0d1eb289496e15d7d71a0f99dec0 - Sigstore transparency entry: 664282994
- Sigstore integration time:
-
Permalink:
stuartmaxwell/djpress@fb981ed69419f7bc44b757bbdbe0e5883557ad7e -
Branch / Tag:
refs/tags/v0.20.4 - Owner: https://github.com/stuartmaxwell
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@fb981ed69419f7bc44b757bbdbe0e5883557ad7e -
Trigger Event:
release
-
Statement type:
File details
Details for the file djpress-0.20.4-py3-none-any.whl.
File metadata
- Download URL: djpress-0.20.4-py3-none-any.whl
- Upload date:
- Size: 74.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1eb7183ae770ba4c05510c10c165cf059d911e38eb04271379a1ae1091f702a1
|
|
| MD5 |
d73555ee07ba42fa22876eee01b951da
|
|
| BLAKE2b-256 |
479526eb5f8c19500bf9f337d8956ebf572471235fbcfacf35f147c54e5083e7
|
Provenance
The following attestation bundles were made for djpress-0.20.4-py3-none-any.whl:
Publisher:
publish.yml on stuartmaxwell/djpress
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
djpress-0.20.4-py3-none-any.whl -
Subject digest:
1eb7183ae770ba4c05510c10c165cf059d911e38eb04271379a1ae1091f702a1 - Sigstore transparency entry: 664282996
- Sigstore integration time:
-
Permalink:
stuartmaxwell/djpress@fb981ed69419f7bc44b757bbdbe0e5883557ad7e -
Branch / Tag:
refs/tags/v0.20.4 - Owner: https://github.com/stuartmaxwell
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@fb981ed69419f7bc44b757bbdbe0e5883557ad7e -
Trigger Event:
release
-
Statement type: