This is a generic Content management system made specifically for the purpose of handling the websites of college fests. It is written in Django and uses basically a Bootstrap based UI.
Install sqlite3 for development
sudo apt-get install sqlite3
sudo yum install sqlite
Install pip for python3
sudo easy_install pip
sudo apt-get install python3-pip
sudo yum install python-pip python-wheel
pip install virtualenvwrapper-win
mkvirtualenv nameofyourproject
workon nameofproject
.pip install virtualenv
virtualenv --python=python3 nameofproject
source nameofproject/bin/activate
git clone git@github.com:ghoshbishakh/festcms.git
cd festcms
festcms/settings.py.example
to festcms/settings.py
SECRET_KEY
field in settings.py
settings.py
alias python=python3
pip install -r requirements.txt
to install all dependenciespython manage.py migrate
python manage.py runserver
superuser
account with python manage.py createsuperuser
, create your credentials.http://localhost:8000/admin
and enter your credentials.http://localhost:8000/forms/feedback
.navbar
tag if required in any of your custom pages..html
) and text(.txt
) based templates for mail with the context as per your requirements.festflow/templates/email_extras
directory.send_mail_template
method of email_extras.utils
package.
Eg. Suppose we have example_mail.html
and example_mail.txt
as our text based and HTML based templates
with some context ctx
, attachments atch
and headers headers
, then we could do the following to use
the template system.from email_extras.utils import send_mail_template
send_mail_template("Subject", 'example_mail', from_address, to_address,
fail_silently=False, attachments=atch, context=ctx, headers=headers)
We use django-email-extras to send template based mails. The email templates should be placed in
festflow/templates/email-extras/
. PGP encrypted mails could also be sent via the django-email-extras module. For more information on how to configure PGP encryption module, please refer here.We use django-forms-builder for making custom forms available via admin section. A lot of stuff could be configured as mentioned here in
settings.py
.