69 lines
1.9 KiB
Markdown
69 lines
1.9 KiB
Markdown
# mycreole
|
|
|
|
With the django library mycreole, you are abel to use the creole language to create html output in your django application.
|
|
|
|
## Requirements
|
|
You need to ensure that python-mycreole is available in your python environment.
|
|
|
|
## Integration
|
|
|
|
Clone the library in your django application.
|
|
|
|
### Configurations in your settings.py
|
|
Add the following line to the list ```INSTALLED_APPS```:
|
|
```
|
|
'mycreole.apps.MycreoleConfig',
|
|
```
|
|
|
|
### Parameter
|
|
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```.
|
|
|
|
#### MYCREOLE_ROOT
|
|
Define the folder, where the attachments are stored with the following line:
|
|
```
|
|
MYCREOLE_ROOT = os.path.join(BASE_DIR, 'data', 'pages')
|
|
```
|
|
|
|
#### MYCREOLE_ATTACHMENT_ACCESS
|
|
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',
|
|
}
|
|
```
|
|
|
|
#### MYCREOLE_BAR
|
|
Define the methods to extend the navigationbar and menubar by this statement:
|
|
```
|
|
MYCREOLE_BAR = {
|
|
'navibar': 'pages.context.navigationbar',
|
|
'menubar': 'pages.context.menubar',
|
|
}
|
|
```
|
|
|
|
## Usage
|
|
### Creole help page
|
|
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)
|
|
```
|
|
### Usage of next_achor
|
|
Defines the additional html anchor, which will be used after an upload.
|
|
|
|
### Usage of macros
|
|
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,
|
|
}
|
|
``` |