summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--bootstrap.py77
-rw-r--r--buildout.cfg20
-rwxr-xr-xmanage.py10
-rw-r--r--online_test/__init__.py0
-rw-r--r--online_test/settings.py96
-rw-r--r--online_test/urls.py15
-rw-r--r--online_test/wsgi.py14
-rw-r--r--production.cfg20
-rw-r--r--testapp/README.rst48
-rwxr-xr-xtestapp/exam/code_server.py2
-rw-r--r--testapp/exam/evaluators/__init__.py0
-rw-r--r--testapp/exam/evaluators/bash_code_evaluator.py (renamed from testapp/exam/bash_code_evaluator.py)0
-rw-r--r--testapp/exam/evaluators/code_evaluator.py (renamed from testapp/exam/code_evaluator.py)0
-rw-r--r--testapp/exam/evaluators/cpp_code_evaluator.py (renamed from testapp/exam/cpp_code_evaluator.py)0
-rw-r--r--testapp/exam/evaluators/java_code_evaluator.py (renamed from testapp/exam/java_code_evaluator.py)0
-rw-r--r--testapp/exam/evaluators/language_registry.py (renamed from testapp/exam/language_registry.py)0
-rw-r--r--testapp/exam/evaluators/python_code_evaluator.py (renamed from testapp/exam/python_code_evaluator.py)0
-rw-r--r--testapp/exam/evaluators/scilab_code_evaluator.py (renamed from testapp/exam/scilab_code_evaluator.py)0
-rw-r--r--testapp/exam/settings.py15
-rwxr-xr-xtestapp/manage.py14
-rw-r--r--testapp/production.py11
-rw-r--r--testapp/settings.py193
23 files changed, 145 insertions, 392 deletions
diff --git a/.gitignore b/.gitignore
index 3e88586..b85f182 100644
--- a/.gitignore
+++ b/.gitignore
@@ -40,4 +40,4 @@ apache/*
*.db
migrations
wsgi.log
-
+*.sqlite3
diff --git a/bootstrap.py b/bootstrap.py
deleted file mode 100644
index 7728587..0000000
--- a/bootstrap.py
+++ /dev/null
@@ -1,77 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2006 Zope Corporation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""Bootstrap a buildout-based project
-
-Simply run this script in a directory containing a buildout.cfg.
-The script accepts buildout command-line options, so you can
-use the -c option to specify an alternate configuration file.
-
-$Id$
-"""
-
-import os, shutil, sys, tempfile, urllib2
-
-tmpeggs = tempfile.mkdtemp()
-
-is_jython = sys.platform.startswith('java')
-
-try:
- import pkg_resources
-except ImportError:
- ez = {}
- exec urllib2.urlopen('http://peak.telecommunity.com/dist/ez_setup.py'
- ).read() in ez
- ez['use_setuptools'](to_dir=tmpeggs, download_delay=0)
-
- import pkg_resources
-
-if sys.platform == 'win32':
- def quote(c):
- if ' ' in c:
- return '"%s"' % c # work around spawn lamosity on windows
- else:
- return c
-else:
- def quote (c):
- return c
-
-cmd = 'from setuptools.command.easy_install import main; main()'
-ws = pkg_resources.working_set
-
-if is_jython:
- import subprocess
-
- assert subprocess.Popen([sys.executable] + ['-c', quote(cmd), '-mqNxd',
- quote(tmpeggs), 'zc.buildout'],
- env=dict(os.environ,
- PYTHONPATH=
- ws.find(pkg_resources.Requirement.parse('setuptools')).location
- ),
- ).wait() == 0
-
-else:
- assert os.spawnle(
- os.P_WAIT, sys.executable, quote (sys.executable),
- '-c', quote (cmd), '-mqNxd', quote (tmpeggs), 'zc.buildout',
- dict(os.environ,
- PYTHONPATH=
- ws.find(pkg_resources.Requirement.parse('setuptools')).location
- ),
- ) == 0
-
-ws.add_entry(tmpeggs)
-ws.require('zc.buildout')
-import zc.buildout.buildout
-zc.buildout.buildout.main(sys.argv[1:] + ['bootstrap'])
-shutil.rmtree(tmpeggs)
diff --git a/buildout.cfg b/buildout.cfg
deleted file mode 100644
index 9ffc6d8..0000000
--- a/buildout.cfg
+++ /dev/null
@@ -1,20 +0,0 @@
-[buildout]
-parts =
- django
-eggs =
- South
- django-taggit
- django-taggit-autocomplete-modified
- django-debug-toolbar
-
-[django]
-recipe = djangorecipe
-project = testapp
-settings = settings
-wsgi = true
-wsgilog=wsgi.log
-eggs =
- ${buildout:eggs}
-extra-paths =
- testapp
-
diff --git a/manage.py b/manage.py
new file mode 100755
index 0000000..1addc41
--- /dev/null
+++ b/manage.py
@@ -0,0 +1,10 @@
+#!/usr/bin/env python
+import os
+import sys
+
+if __name__ == "__main__":
+ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "online_test.settings")
+
+ from django.core.management import execute_from_command_line
+
+ execute_from_command_line(sys.argv)
diff --git a/online_test/__init__.py b/online_test/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/online_test/__init__.py
diff --git a/online_test/settings.py b/online_test/settings.py
new file mode 100644
index 0000000..9168b08
--- /dev/null
+++ b/online_test/settings.py
@@ -0,0 +1,96 @@
+"""
+Django settings for online_test 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/
+"""
+
+# 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 = '0=fsi3g5dw*7ze1cyh441_e^5^$2ay@&z(5(n7mhir0xb267=6'
+
+# SECURITY WARNING: don't run with debug turned on in production!
+DEBUG = True
+
+TEMPLATE_DEBUG = True
+
+ALLOWED_HOSTS = []
+
+URL_ROOT = ''
+
+# Application definition
+
+INSTALLED_APPS = (
+ 'django.contrib.admin',
+ 'django.contrib.auth',
+ 'django.contrib.contenttypes',
+ 'django.contrib.sessions',
+ 'django.contrib.messages',
+ 'django.contrib.staticfiles',
+ 'testapp.exam',
+ 'taggit',
+ 'taggit_autocomplete_modified',
+)
+
+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 = 'online_test.urls'
+
+WSGI_APPLICATION = 'online_test.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'),
+ },
+ 'spoken_tutorial' : {
+ 'ENGINE' : 'django.db.backends.mysql',
+ 'NAME' : 'YOUR DATABASE',
+ 'USER' : 'YOUR USERNAME',
+ 'PASSWORD': 'YOUR PASSWORD',
+ 'HOST' :'',
+ 'PORT' :'',
+ }
+}
+
+# Internationalization
+# https://docs.djangoproject.com/en/1.6/topics/i18n/
+
+AUTH_PROFILE_MODULE = 'exam.Profile'
+
+LANGUAGE_CODE = 'en-us'
+
+TIME_ZONE = 'UTC'
+
+USE_I18N = True
+
+USE_L10N = True
+
+USE_TZ = False
+
+
+# Static files (CSS, JavaScript, Images)
+# https://docs.djangoproject.com/en/1.6/howto/static-files/
+
+STATIC_URL = '/static/'
diff --git a/online_test/urls.py b/online_test/urls.py
new file mode 100644
index 0000000..871b357
--- /dev/null
+++ b/online_test/urls.py
@@ -0,0 +1,15 @@
+from django.conf.urls import patterns, include, url
+
+from django.contrib import admin
+admin.autodiscover()
+
+urlpatterns = patterns('',
+ # Examples:
+ # url(r'^$', 'online_test.views.home', name='home'),
+ # url(r'^blog/', include('blog.urls')),
+
+ url(r'^admin/', include(admin.site.urls)),
+ url(r'^exam/', include('testapp.exam.urls')),
+ url(r'^taggit_autocomplete_modified/', include\
+ ('taggit_autocomplete_modified.urls'))
+)
diff --git a/online_test/wsgi.py b/online_test/wsgi.py
new file mode 100644
index 0000000..2dd7ae3
--- /dev/null
+++ b/online_test/wsgi.py
@@ -0,0 +1,14 @@
+"""
+WSGI config for online_test 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", "online_test.settings")
+
+from django.core.wsgi import get_wsgi_application
+application = get_wsgi_application()
diff --git a/production.cfg b/production.cfg
deleted file mode 100644
index c5ec49e..0000000
--- a/production.cfg
+++ /dev/null
@@ -1,20 +0,0 @@
-[buildout]
-parts =
- django
-eggs =
- South
- psycopg2
- django-taggit
- django-taggit-autocomplete-modified
- django-debug-toolbar
-
-[django]
-recipe = djangorecipe
-project = testapp
-settings = production
-wsgi = true
-wsgilog=wsgi.log
-eggs =
- ${buildout:eggs}
-extra-paths =
- testapp
diff --git a/testapp/README.rst b/testapp/README.rst
deleted file mode 100644
index e6f8380..0000000
--- a/testapp/README.rst
+++ /dev/null
@@ -1,48 +0,0 @@
-===============
-Online Exam
-===============
-
-Online test application lets user(student) take an online programming test.
-A special user called moderator can add questions, create question paper,
-conduct online test and monitor the test.
-
-
-Quick start
-------------
-
-1. In your terminal run the following command::
- $ easy_install git+https://github.com/FOSSEE/online_test.git#egg=django_exam-0.1
-
-2. Add "testapp.exam", "taggit" and "taggit_autocomplete_modified" apps
- to your INSTALLED_APPS setting as follows::
-
- INSTALLED_APPS =(
- 'testapp.exam',
- 'taggit',
- 'taggit_autocomplete_modified',
- )
-
-3. In project settings, add AUTH_PROFILE_MODULE = 'testapp.exam.Profile'
- You can change the testapp.exam.Profile to your desired app user profile.
-
-4. Include the "testapp.exam" and taggit_autocomplete_modified URL configuration
- in your project urls.py as follows::
-
- url(r'^exam/', include('testapp.exam.urls')),
- url(r'^taggit_autocomplete_modified/', include\
- ('taggit_autocomplete_modified.urls'))
-
-
-5. Run 'python manage.py syncdb' to create models for the new installed apps.
-
-6. Run 'python manage.py runserver' to start the development server
- and visit http://localhost:8000/exam/
-
-7. Run code_server command as superuser as follows::
-
- $ sudo code_server
-
- Note: If you are using virtual python environment, then activate the environment
- using sudo. Then simply run the code_server command as follows::
-
- $ code_server
diff --git a/testapp/exam/code_server.py b/testapp/exam/code_server.py
index 1411ded..7c675cb 100755
--- a/testapp/exam/code_server.py
+++ b/testapp/exam/code_server.py
@@ -31,7 +31,7 @@ import re
import json
# Local imports.
from settings import SERVER_PORTS, SERVER_POOL_PORT
-from language_registry import get_registry, set_registry
+from evaluators.language_registry import get_registry, set_registry
MY_DIR = abspath(dirname(__file__))
diff --git a/testapp/exam/evaluators/__init__.py b/testapp/exam/evaluators/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/testapp/exam/evaluators/__init__.py
diff --git a/testapp/exam/bash_code_evaluator.py b/testapp/exam/evaluators/bash_code_evaluator.py
index a468fd7..a468fd7 100644
--- a/testapp/exam/bash_code_evaluator.py
+++ b/testapp/exam/evaluators/bash_code_evaluator.py
diff --git a/testapp/exam/code_evaluator.py b/testapp/exam/evaluators/code_evaluator.py
index 381b2e8..381b2e8 100644
--- a/testapp/exam/code_evaluator.py
+++ b/testapp/exam/evaluators/code_evaluator.py
diff --git a/testapp/exam/cpp_code_evaluator.py b/testapp/exam/evaluators/cpp_code_evaluator.py
index 7242884..7242884 100644
--- a/testapp/exam/cpp_code_evaluator.py
+++ b/testapp/exam/evaluators/cpp_code_evaluator.py
diff --git a/testapp/exam/java_code_evaluator.py b/testapp/exam/evaluators/java_code_evaluator.py
index 4367259..4367259 100644
--- a/testapp/exam/java_code_evaluator.py
+++ b/testapp/exam/evaluators/java_code_evaluator.py
diff --git a/testapp/exam/language_registry.py b/testapp/exam/evaluators/language_registry.py
index 76a23d7..76a23d7 100644
--- a/testapp/exam/language_registry.py
+++ b/testapp/exam/evaluators/language_registry.py
diff --git a/testapp/exam/python_code_evaluator.py b/testapp/exam/evaluators/python_code_evaluator.py
index 0c473cf..0c473cf 100644
--- a/testapp/exam/python_code_evaluator.py
+++ b/testapp/exam/evaluators/python_code_evaluator.py
diff --git a/testapp/exam/scilab_code_evaluator.py b/testapp/exam/evaluators/scilab_code_evaluator.py
index 392cd45..392cd45 100644
--- a/testapp/exam/scilab_code_evaluator.py
+++ b/testapp/exam/evaluators/scilab_code_evaluator.py
diff --git a/testapp/exam/settings.py b/testapp/exam/settings.py
index 93f90a9..5d3fb15 100644
--- a/testapp/exam/settings.py
+++ b/testapp/exam/settings.py
@@ -19,10 +19,11 @@ SERVER_TIMEOUT = 2
# host.org/foo/exam set URL_ROOT='/foo'
URL_ROOT = ''
-code_evaluators = {"python": "python_code_evaluator.PythonCodeEvaluator",
- "c": "c_cpp_code_evaluator.CCPPCodeEvaluator",
- "cpp": "c_cpp_code_evaluator.CCPPCodeEvaluator",
- "java": "java_evaluator.JavaCodeEvaluator",
- "bash": "bash_evaluator.BashCodeEvaluator",
- "scilab": "scilab_evaluator.ScilabCodeEvaluator",
- }
+code_evaluators = {
+ "python": "evaluators.python_code_evaluator.PythonCodeEvaluator",
+ "c": "evaluators.c_cpp_code_evaluator.CCPPCodeEvaluator",
+ "cpp": "evaluators.c_cpp_code_evaluator.CCPPCodeEvaluator",
+ "java": "evaluators.java_evaluator.JavaCodeEvaluator",
+ "bash": "evaluators.bash_evaluator.BashCodeEvaluator",
+ "scilab": "evaluators.scilab_evaluator.ScilabCodeEvaluator",
+ }
diff --git a/testapp/manage.py b/testapp/manage.py
deleted file mode 100755
index 3e4eedc..0000000
--- a/testapp/manage.py
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/usr/bin/env python
-from django.core.management import execute_manager
-import imp
-try:
- imp.find_module('settings') # Assumed to be in the same directory.
-except ImportError:
- import sys
- sys.stderr.write("Error: Can't find the file 'settings.py' in the directory containing %r. It appears you've customized things.\nYou'll have to run django-admin.py, passing it your settings module.\n" % __file__)
- sys.exit(1)
-
-import settings
-
-if __name__ == "__main__":
- execute_manager(settings)
diff --git a/testapp/production.py b/testapp/production.py
deleted file mode 100644
index 8a1da98..0000000
--- a/testapp/production.py
+++ /dev/null
@@ -1,11 +0,0 @@
-from testapp.settings import *
-
-DEBUG = False
-TEMPLATE_DEBUG = DEBUG
-from testapp.local import *
-
-DATABASE_ENGINE = 'django.db.backends.mysql'
-DATABASE_NAME = 'online_test'
-DATABASE_USER = 'online_test_user'
-# Imports DATABASE_PASSWORD from testapp/local.py that is not part of git repo
-from testapp.local import DATABASE_PASSWORD
diff --git a/testapp/settings.py b/testapp/settings.py
deleted file mode 100644
index 88d4a5a..0000000
--- a/testapp/settings.py
+++ /dev/null
@@ -1,193 +0,0 @@
-# Django settings for tester project.
-
-from os.path import dirname, join, basename, abspath
-
-DEBUG = True
-TEMPLATE_DEBUG = DEBUG
-
-# The root of the URL, for example you might be in the situation where you
-# are not hosted as host.org/exam/ but as host.org/foo/exam/ for whatever
-# reason set this to the root you have to serve at. In the above example
-# host.org/foo/exam set URL_ROOT='/foo'
-URL_ROOT = ''
-
-# Authentication using other database table.
-# Comment the line below if you want the authentication to be done
-# using django user table.
-#AUTHENTICATION_BACKENDS = ('myauthentication.backend.MyBackend',)
-
-# Router for database
-#DATABASE_ROUTERS = ['myauthentication.router.MyDatabaseRouter',]
-
-ADMINS = (
- # ('Your Name', 'your_email@example.com'),
-)
-
-MANAGERS = ADMINS
-
-CURDIR = abspath(dirname(__file__))
-DB_FILE = join(CURDIR, 'exam.db')
-
-DATABASES = {
- 'default': {
- 'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
- 'NAME': DB_FILE, # Or path to database file if using sqlite3.
- 'USER': '', # Not used with sqlite3.
- 'PASSWORD': '', # Not used with sqlite3.
- 'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
- 'PORT': '', # Set to empty string for default. Not used with sqlite3.
- },
- 'spoken_tutorial' : {
- 'ENGINE' : 'django.db.backends.mysql',
- 'NAME' : 'YOUR DATABASE',
- 'USER' : 'YOUR USERNAME',
- 'PASSWORD': 'YOUR PASSWORD',
- 'HOST' :'',
- 'PORT' :'',
- }
-}
-
-# Local time zone for this installation. Choices can be found here:
-# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
-# although not all choices may be available on all operating systems.
-# On Unix systems, a value of None will cause Django to use the same
-# timezone as the operating system.
-# If running in a Windows environment this must be set to the same as your
-# system time zone.
-TIME_ZONE = 'Asia/Kolkata'
-
-# Language code for this installation. All choices can be found here:
-# http://www.i18nguy.com/unicode/language-identifiers.html
-LANGUAGE_CODE = 'en-us'
-
-SITE_ID = 1
-
-# If you set this to False, Django will make some optimizations so as not
-# to load the internationalization machinery.
-USE_I18N = True
-
-# If you set this to False, Django will not format dates, numbers and
-# calendars according to the current locale
-USE_L10N = True
-
-# Absolute filesystem path to the directory that will hold user-uploaded files.
-# Example: "/home/media/media.lawrence.com/media/"
-MEDIA_ROOT = ''
-
-# URL that handles the media served from MEDIA_ROOT. Make sure to use a
-# trailing slash.
-# Examples: "http://media.lawrence.com/media/", "http://example.com/media/"
-MEDIA_URL = ''
-
-# Absolute path to the directory static files should be collected to.
-# Don't put anything in this directory yourself; store your static files
-# in apps' "static/" subdirectories and in STATICFILES_DIRS.
-# Example: "/home/media/media.lawrence.com/static/"
-STATIC_ROOT = '/tmp/static/'
-
-# URL prefix for static files.
-# Example: "http://media.lawrence.com/static/"
-STATIC_URL = '/static/'
-
-# URL prefix for admin static files -- CSS, JavaScript and images.
-# Make sure to use a trailing slash.
-# Examples: "http://foo.com/static/admin/", "/static/admin/".
-ADMIN_MEDIA_PREFIX = '/static/admin/'
-
-# Additional locations of static files
-STATICFILES_DIRS = (
- # Put strings here, like "/home/html/static" or "C:/www/django/static".
- # Always use forward slashes, even on Windows.
- # Don't forget to use absolute paths, not relative paths.
-)
-
-# List of finder classes that know how to find static files in
-# various locations.
-STATICFILES_FINDERS = (
- 'django.contrib.staticfiles.finders.FileSystemFinder',
- 'django.contrib.staticfiles.finders.AppDirectoriesFinder',
- #'django.contrib.staticfiles.finders.DefaultStorageFinder',
-)
-
-# Make this unique, and don't share it with anybody.
-SECRET_KEY = '9h*01@*#3ok+lbj5k=ym^eb)e=rf-g70&n0^nb_q6mtk!r(qr)'
-
-# List of callables that know how to import templates from various sources.
-TEMPLATE_LOADERS = (
- 'django.template.loaders.filesystem.Loader',
- 'django.template.loaders.app_directories.Loader',
- #'django.template.loaders.eggs.Loader',
-)
-
-MIDDLEWARE_CLASSES = (
- 'django.middleware.common.CommonMiddleware',
- 'django.contrib.sessions.middleware.SessionMiddleware',
- 'django.middleware.csrf.CsrfViewMiddleware',
- 'django.contrib.auth.middleware.AuthenticationMiddleware',
- 'django.contrib.messages.middleware.MessageMiddleware',
- 'debug_toolbar.middleware.DebugToolbarMiddleware',
-
-)
-
-ROOT_URLCONF = '%s.urls' % (basename(CURDIR))
-
-TEMPLATE_DIRS = (
- # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
- # Always use forward slashes, even on Windows.
- # Don't forget to use absolute paths, not relative paths.
-)
-
-INSTALLED_APPS = (
- 'django.contrib.auth',
- 'django.contrib.contenttypes',
- 'django.contrib.sessions',
- 'django.contrib.sites',
- 'django.contrib.messages',
- 'django.contrib.staticfiles',
- # Uncomment the next line to enable the admin:
- 'django.contrib.admin',
- 'taggit',
- # Uncomment the next line to enable admin documentation:
- # 'django.contrib.admindocs',
- 'exam',
- 'taggit_autocomplete_modified',
- 'debug_toolbar',
-)
-
-# A sample logging configuration. The only tangible logging
-# performed by this configuration is to send an email to
-# the site admins on every HTTP 500 error.
-# See http://docs.djangoproject.com/en/dev/topics/logging for
-# more details on how to customize your logging configuration.
-LOGGING = {
- 'version': 1,
- 'disable_existing_loggers': False,
- 'formatters': {
- 'verbose': {
- 'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
- },
- 'simple': {
- 'format': '%(levelname)s %(message)s'
- },
- },
- 'handlers': {
- 'console': {
- 'level': 'DEBUG',
- 'class': 'logging.StreamHandler',
- 'formatter': 'simple'
- },
- 'mail_admins': {
- 'level': 'ERROR',
- 'class': 'django.utils.log.AdminEmailHandler'
- }
- },
- 'loggers': {
- 'django.request': {
- 'handlers': ['mail_admins', 'console'],
- 'level': 'ERROR',
- 'propagate': True,
- },
- }
-}
-
-AUTH_PROFILE_MODULE = 'exam.Profile'