A Django admin Simditor integration.
Project description
django-simditor2
Installation
pip install django-simditor2
Add simditor to your INSTALLED_APPS setting.
from django.db import models
from simditor.fields import RichTextField
class Post(models.Model):
content = RichTextField()
emoji
Markdown
Image upload config
drop image
clipboard image
urls.py
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^simditor/', include('simditor.urls')) # add this line
]
settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'simditor'
]
SIMDITOR_UPLOAD_PATH = 'uploads/'
SIMDITOR_IMAGE_BACKEND = 'pillow'
SIMDITOR_TOOLBAR = [
'title', 'bold', 'italic', 'underline', 'strikethrough', 'fontScale',
'color', '|', 'ol', 'ul', 'blockquote', 'code', 'table', '|', 'link',
'image', 'hr', '|', 'indent', 'outdent', 'alignment', 'fullscreen',
'markdown', 'emoji'
]
SIMDITOR_CONFIGS = {
'toolbar': SIMDITOR_TOOLBAR,
'upload': {
'url': '/simditor/upload/',
'fileKey': 'upload',
'image_size': 1024 * 1024 * 4 # max image size 4MB
},
'emoji': {
'imagePath': '/static/simditor/images/emoji/'
}
}
the following settings only v0.2 support:
If you want to over the date_path format in upload_path:
# settings.py file:
SIMDITOR_UPLOAD_PATH = 'uploads/%Y%m%d/' # or whatever datetime format you want
If you want to be able to have control over filename generation, you have to add a custom filename generator to your settings:
# create a file: utils.py, and define a function
def get_filename(filename, request):
return filename.upper() # or return whatever you want
# settings.py file:
SIMDITOR_FILENAME_GENERATOR = 'utils.get_filename'
without django admin demo
from django.views import generic
from django.views.decorators.csrf import csrf_exempt
from simditor.views import upload_handler
class ImageUploadView(generic.View):
"""ImageUploadView."""
http_method_names = ['post']
def post(self, request, **kwargs):
"""Post."""
return upload_handler(request)
urlpatterns = [
url(r'^$', IndexView.as_view(), name='simditor-form'),
url(r'^simditor/upload', csrf_exempt(ImageUploadView.as_view())),
]
# IndexView
from django import forms
from django.views import generic
from simditor.fields import RichTextFormField
try:
from django.urls import reverse
except ImportError: # Django < 2.0
from django.core.urlresolvers import reverse
class SimditorForm(forms.Form):
content = RichTextFormField()
class IndexView(generic.FormView):
form_class = SimditorForm
template_name = 'index.html'
def get_success_url(self):
return reverse('simditor-form')
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form method="post" action="./">
{% csrf_token %}
{{ form.media }}
{{ form.as_p }}
<p><input type="submit" value="post"></p>
</form>
</body>
</html>
more detail you can check simditor_demo
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 django-simditor2-0.2.tar.gz.
File metadata
- Download URL: django-simditor2-0.2.tar.gz
- Upload date:
- Size: 4.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fd8a99d9df93ccee15f2d75ed5ccd209c19fe272e2122605795b30a71bf4b0d3
|
|
| MD5 |
d50dd8c93b757cb030a578608ee0cb72
|
|
| BLAKE2b-256 |
37da58e5d3ac9b0419b2c7b5a42840668f37b6b50df4ac7f5914fc9d49bc6660
|
File details
Details for the file django_simditor2-0.2-py3-none-any.whl.
File metadata
- Download URL: django_simditor2-0.2-py3-none-any.whl
- Upload date:
- Size: 4.4 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
123244a061c24d418ce92fd3cfb9ce864be63a407cea196972cc84ece14b0a8f
|
|
| MD5 |
ed4e215840190be6f28218fe0f5c28a0
|
|
| BLAKE2b-256 |
00bfe254e0c1d2587cf0a5c4895cc051156021a4e949c6d4d7fdb9f157d3b67e
|