Add demo application.

This commit is contained in:
Piotr Maliński 2013-12-06 22:09:09 +01:00
parent b3c0fc92f4
commit 21a47b4a75
13 changed files with 189 additions and 0 deletions

1
.gitignore vendored
View File

@ -14,3 +14,4 @@ django-ckeditor.sublime-project
*.egg
pep8.txt
coverage.xml
db.sqlite3

View File

@ -131,3 +131,17 @@ CKEDITOR_CONFIGS = {
"removePlugins": "stylesheetparser",
}
}
Demo / Test application
~~~~~~~~~~~~~~~~~~~~~~~
If you clone the repository you will be able to run the ``ckeditor_demo`` application.
#. Run python.manage.py syncdb
#. Create a superuser if you want to test the widged in the admin panel
#. Start the development server.
There is a forms.Form on main page (/) and a model in admin that uses the widget for a model field.
Database is set to sqlite3 and STATIC/MEDIA_ROOT to folders in temporary directory.

View File

View File

@ -0,0 +1,6 @@
from ckeditor_demo.demo_application import models
from django.contrib import admin
admin.site.register(models.ExampleModel)

View File

@ -0,0 +1,7 @@
from django import forms
from ckeditor.fields import RichTextFormField
class CkEditorForm(forms.Form):
content = RichTextFormField()

View File

@ -0,0 +1,7 @@
from django.db import models
from ckeditor.fields import RichTextField
class ExampleModel(models.Model):
content = RichTextField()

View File

@ -0,0 +1,13 @@
{% load staticfiles %}<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="{% static "ckeditor/ckeditor/ckeditor.js" %}"></script>
</head>
<body>
<form method="post" action="./">
{% csrf_token %}
{{ form.as_p }}
<p><input type="submit" value="post"></p>
</form>
</body>
</html>

View File

@ -0,0 +1,14 @@
from django.core.urlresolvers import reverse
from django.views import generic
from ckeditor_demo.demo_application import forms
class CkEditorFormView(generic.FormView):
form_class = forms.CkEditorForm
template_name = 'form.html'
def get_success_url(self):
return reverse('ckeditor-form')
ckeditor_form_view = CkEditorFormView.as_view()

90
ckeditor_demo/settings.py Normal file
View File

@ -0,0 +1,90 @@
"""
Django settings for ckeditor_demo project.
For more information on this file, see
https://docs.djangoproject.com/en/1.6/topics/settings/
For the full list of settings and their values, see
https://docs.djangoproject.com/en/1.6/ref/settings/
"""
import tempfile
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/1.6/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'cwog(6mx-+m9-@*n7jsn+*q4in*+nss_nv+s0da39ail@=x(ne'
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
TEMPLATE_DEBUG = True
ALLOWED_HOSTS = []
# Application definition
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'ckeditor',
'ckeditor_demo.demo_application',
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
ROOT_URLCONF = 'ckeditor_demo.urls'
WSGI_APPLICATION = 'ckeditor_demo.wsgi.application'
# Database
# https://docs.djangoproject.com/en/1.6/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
# Internationalization
# https://docs.djangoproject.com/en/1.6/topics/i18n/
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.6/howto/static-files/
STATIC_URL = '/static/'
MEDIA_URL = '/media/'
STATIC_ROOT = os.path.join(tempfile.gettempdir(), 'ck_static')
MEDIA_ROOT = os.path.join(tempfile.gettempdir(), 'ck_media')
CKEDITOR_UPLOAD_PATH = "uploads/"

13
ckeditor_demo/urls.py Normal file
View File

@ -0,0 +1,13 @@
from django.conf.urls import patterns, include, url
from django.conf.urls.static import static
from django.conf import settings
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns(
'',
url(r'^$', 'ckeditor_demo.demo_application.views.ckeditor_form_view', name='ckeditor-form'),
url(r'^admin/', include(admin.site.urls)),
url(r'^ckeditor/', include('ckeditor.urls')),
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

14
ckeditor_demo/wsgi.py Normal file
View File

@ -0,0 +1,14 @@
"""
WSGI config for ckeditor_demo project.
It exposes the WSGI callable as a module-level variable named ``application``.
For more information on this file, see
https://docs.djangoproject.com/en/1.6/howto/deployment/wsgi/
"""
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ckeditor_demo.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

10
manage.py Normal file
View File

@ -0,0 +1,10 @@
#!/usr/bin/env python
import os
import sys
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ckeditor_demo.settings")
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)