Django CMS for presentation websites
Project description
Django Xprez
Xprez is CMS For Django
Quick start
- Install django-xprez:
pip install django-xprez
- Add following apps to your settings.INSTALLED_APPS:
INSTALLED_APPS = [
...
'django.contrib.humanize',
'sorl.thumbnail',
'xprez',
'xprez.ck_editor',
...
]
-
Run
python manage.py migrate
to create xprez models. -
Make sure request context processor is enabled in settings:
TEMPLATES = [
...
'OPTIONS': {
'context_processors': [
...
'django.template.context_processors.request',
...
]
},
...
]
- Include the xprez admin URLconf in your project urls.py like this:
path('xprez/', include('xprez.urls')),
- Create models:
from xprez.models import ContentsContainer
class Page(ContentsContainer):
title = models.CharField(max_length=255)
slug = models.SlugField(max_length=255, unique=True)
def __str__(self):
return self.title
- Register models in admin:
from django.contrib import admin
from xprez.admin import XprezAdmin
from .models import Page
@admin.register(Page)
class PageAdmin(XprezAdmin):
pass
- Render page in template:
{% load xprez %}
{% xprez_front_media %}
{% include 'xprez/includes/photoswipe.html' %}
{% include 'xprez/container.html' with contents=page.contents.all %}
- (optional) Change sorl thumbnail backend in settings - for seo-friendly thumbnail filenames:
THUMBNAIL_BACKEND = 'xprez.contrib.sorl_thumbnail.thumbnail_backend.NamingThumbnailBackend'
- (optional) Look at example_app for more comprehensive example.
Development
To setup automated black formatting connected to git commits:
- install pre-commit
- run
pre-commit install
To rebuild ckeditor:
cd xprez/ck_editor/assets/ckeditor5
npm install
npm run build
To rebuild css styles
cd xprez/static/xprez
npm install
npm run build (or `watch` for developing)
Deploying new version
Tagging new version
Update setup.py -> VERSION, commit and push to master.
On localhost run:
git tag vX.Y.Z
git push origin vX.Y.Z
Github actions then should build and publish new version on test pypi.
Testing new version from testpypi
Add this to top of your requirements.txt:
--extra-index-url https://test.pypi.org/simple/
Deploying new version to pypi
Go to https://github.com/s-cape/django_xprez/actions/workflows/pypi.yml and run workflow.
TODO
- add custom module tutorial to Readme
- fix template content to save only relative path to database
- check template content raising UnicodeDecodeError
- create manual for various situations (ck_editor branch)
- using custom config and implement style sources into own building system (using get_module_path.py)
- how to implement
xprezanchor
functionality
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
django_xprez-0.2.9.tar.gz
(3.3 MB
view hashes)
Built Distribution
Close
Hashes for django_xprez-0.2.9-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7a43a08b3acd3a7097b4ce1b37751e5c74403e17d7ba1937bbd8da2af853991 |
|
MD5 | 5d0d4c5682c5051f2aafe2d80f273d6c |
|
BLAKE2b-256 | bb7332b7177bb9cccbd681b1ffe76d07eb0be4f2875b00a20c6d3ec611e59c57 |