Django: Difference between revisions
Jump to navigation
Jump to search
Line 19: | Line 19: | ||
==example apache config== | ==example apache config== | ||
Below apache config works with python 3 and the debian django repository (specifically, the static alias is on a separate location). Outside of that in my example the django instance zealot is stored in /var/django/zealot. | Below apache config works with python 3 and the debian django repository (specifically, the static alias is on a separate location). Outside of that in my example the django instance named zealot is stored in /var/django/zealot. | ||
<pre><VirtualHost *:80> | <pre><VirtualHost *:80> | ||
Line 45: | Line 45: | ||
</VirtualHost></pre> | </VirtualHost></pre> | ||
==example settings.py== | ==example settings.py== |
Revision as of 16:48, 20 June 2015
installing django in debian jessie with python3, mysql, apache2 and mod-wsgi
Packages:
aptitude install python3-django python3 libapache2-mod-wsgi-py3 python3-mysql.connector apache2
(optionally add a local mysql server if you need one locally)
aptitude install mysql-server
Make sure the wsdi module is enabled"
dpkg-reconfigure libapache2-mod-wsgi-py3
Create workspace:
mkdir -p /var/django && cd /var/django /usr/lib/python3/dist-packages/django/bin/django-admin.py startproject zealot .
example apache config
Below apache config works with python 3 and the debian django repository (specifically, the static alias is on a separate location). Outside of that in my example the django instance named zealot is stored in /var/django/zealot.
<VirtualHost *:80> ServerName fuego.lippmann.us Alias /media/ /var/django/media/ Alias /static/ /usr/share/python-django-common/django/contrib/admin/static/ <Directory /var/django/static> Require all granted </Directory> <Directory /var/django/media> Require all granted </Directory> WSGIDaemonProcess zealot python-path=/var/django:/usr/lib/python3.4 WSGIProcessGroup zealot WSGIScriptAlias / /var/django/zealot/wsgi.py <Directory /var/django/zealot/> <Files wsgi.py> Require all granted </Files> </Directory> </VirtualHost>
example settings.py
In my example /var/django/zealot holds this file and the project is named zealot. Adjust the database and other parameters (timezone, domain, etc.) according to your own environment.
import os BASE_DIR = os.path.dirname(os.path.dirname(__file__)) SECRET_KEY = 'key' DEBUG = False TEMPLATE_DEBUG = False ALLOWED_HOSTS = [ '.lippmann.us.', # Allow domain and subdomains ] CSRF_COOKIE_DOMAIN = ".lippmann.us" INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ) MIDDLEWARE_CLASSES = ( 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ) ROOT_URLCONF = 'zealot.urls' WSGI_APPLICATION = 'zealot.wsgi.application' DATABASES = { 'default': { 'ENGINE': 'mysql.connector.django', 'NAME': 'zealot', 'USER': 'user', 'PASSWORD': 'password', 'HOST': 'localhost', 'PORT': '3306', } } LANGUAGE_CODE = 'en-us' TIME_ZONE = 'America/Los_Angeles' USE_I18N = True USE_L10N = True USE_TZ = True STATIC_URL = '/static/'