Django: Difference between revisions
Jump to navigation
Jump to search
Line 47: | Line 47: | ||
==example settings.py== | ==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. | In my example /var/django/zealot holds this file and again the project is named zealot so settings match that. Adjust the database and other parameters (timezone, domain, etc.) according to your own environment. | ||
<pre>import os | <pre>import os |
Revision as of 16:50, 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, in my case instance zealot is installed in /var/django/zealot:
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 again the project is named zealot so settings match that. 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/'