Dirk Alders 997594e371 Logger creation simplified | 3 недель назад | |
---|---|---|
migrations | 4 лет назад | |
templates/mycreole | 3 лет назад | |
templatetags | 4 лет назад | |
.gitignore | 4 лет назад | |
LICENSE | 4 лет назад | |
README.md | 3 недель назад | |
__init__.py | 3 недель назад | |
admin.py | 4 лет назад | |
apps.py | 4 лет назад | |
context.py | 3 недель назад | |
help.py | 3 недель назад | |
models.py | 4 лет назад | |
parameter.py | 3 недель назад | |
tests.py | 4 лет назад | |
urls.py | 3 лет назад | |
views.py | 3 недель назад |
With the django library mycreole, you are abel to use the creole language to create html output in your django application.
You need to ensure that python-mycreole is available in your python environment.
Clone the library in your django application.
Add the following line to the list INSTALLED_APPS
:
'mycreole.apps.MycreoleConfig',
All parameters can be added in the django settings.py
or in a config.py
in the root django folder. The definitions in the config.py
will be used before the definitions in settings.py
.
Define the folder, where the attachments are stored with the following line:
MYCREOLE_ROOT = os.path.join(BASE_DIR, 'data', 'pages')
Define the methods to grant or deny the access to the attachments by:
MYCREOLE_ATTACHMENT_ACCESS = {
'read': 'pages.access.read_attachment',
'modify': 'pages.access.modify_attachment',
}
Define the methods to extend the navigationbar and menubar by this statement:
MYCREOLE_BAR = {
'navibar': 'pages.context.navigationbar',
'menubar': 'pages.context.menubar',
}
In this example, you see a method in views.py
which returns a creole help page:
from django.conf import settings
from django.http import HttpResponse
import mycreole
import os
def help_on_creole(request):
attachment_path = os.path.join(settings.MYCREOLE_ROOT, 'creole_help_page')
html = mycreole.render(request, creole.help.MYCREOLE_HELP, self.attachment_path)
Defines the additional html anchor, which will be used after an upload.
You can give a dictonary as macros parameter to the render method, to define your own macros. Here an example of such a dict:
macros={
'mymacro': method_to_be_called,
}