Dirk Alders e093c48e91 Added kwargs to extern navigation method, instead of passing a modified rel_path | hace 2 meses | |
---|---|---|
migrations | hace 4 años | |
templates/mycreole | hace 3 años | |
templatetags | hace 4 años | |
.gitignore | hace 4 años | |
LICENSE | hace 4 años | |
README.md | hace 2 meses | |
__init__.py | hace 2 meses | |
admin.py | hace 4 años | |
apps.py | hace 4 años | |
context.py | hace 2 meses | |
help.py | hace 2 meses | |
models.py | hace 4 años | |
parameter.py | hace 2 meses | |
tests.py | hace 4 años | |
urls.py | hace 3 años | |
views.py | hace 2 meses |
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,
}