diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-10-24 22:13:44 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-10-24 22:13:44 +0200 |
commit | 2a50c79d3b9de35937c07c838205e25ad058b3e1 (patch) | |
tree | 765ec1bdf7373fd215cf11e7195c0b438ae4e6c7 | |
parent | ee49d6eaa93474e5636411e78b34f35ac60ca94c (diff) | |
download | Papillon-2a50c79d3b9de35937c07c838205e25ad058b3e1.tar.bz2 Papillon-2a50c79d3b9de35937c07c838205e25ad058b3e1.zip |
South integration (closes #308) - settings improvements
-rw-r--r-- | .gitignore | 4 | ||||
-rw-r--r-- | papillon/polls/migrations/0001_initial.py | 183 | ||||
-rw-r--r-- | papillon/polls/migrations/__init__.py | 0 | ||||
-rw-r--r-- | papillon/settings.py.tpl | 32 | ||||
-rw-r--r-- | papillon/urls.py | 8 |
5 files changed, 215 insertions, 12 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2b0f79c --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +*.pyc +*.db +*.swp +papillon/settings.py diff --git a/papillon/polls/migrations/0001_initial.py b/papillon/polls/migrations/0001_initial.py new file mode 100644 index 0000000..bbe3c98 --- /dev/null +++ b/papillon/polls/migrations/0001_initial.py @@ -0,0 +1,183 @@ +# encoding: utf-8 +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + +class Migration(SchemaMigration): + + def forwards(self, orm): + + # Adding model 'Category' + db.create_table('polls_category', ( + ('description', self.gf('django.db.models.fields.TextField')()), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('name', self.gf('django.db.models.fields.CharField')(max_length=100)), + )) + db.send_create_signal('polls', ['Category']) + + # Adding model 'PollUser' + db.create_table('polls_polluser', ( + ('email', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('password', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('modification_date', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)), + ('name', self.gf('django.db.models.fields.CharField')(max_length=100)), + )) + db.send_create_signal('polls', ['PollUser']) + + # Adding model 'Poll' + db.create_table('polls_poll', ( + ('category', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['polls.Category'], null=True, blank=True)), + ('hide_choices', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('enddate', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), + ('name', self.gf('django.db.models.fields.CharField')(max_length=200)), + ('modification_date', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)), + ('author', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['polls.PollUser'], null=True, blank=True)), + ('open', self.gf('django.db.models.fields.BooleanField')(default=True, blank=True)), + ('admin_url', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('opened_admin', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('base_url', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('author_name', self.gf('django.db.models.fields.CharField')(max_length=100)), + ('public', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('dated_choices', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('type', self.gf('django.db.models.fields.CharField')(max_length=1)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('description', self.gf('django.db.models.fields.CharField')(max_length=1000)), + )) + db.send_create_signal('polls', ['Poll']) + + # Adding model 'Comment' + db.create_table('polls_comment', ( + ('date', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), + ('text', self.gf('django.db.models.fields.CharField')(max_length=1000)), + ('poll', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['polls.Poll'])), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('author_name', self.gf('django.db.models.fields.CharField')(max_length=100)), + )) + db.send_create_signal('polls', ['Comment']) + + # Adding model 'Voter' + db.create_table('polls_voter', ( + ('poll', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['polls.Poll'])), + ('creation_date', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('modification_date', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['polls.PollUser'])), + )) + db.send_create_signal('polls', ['Voter']) + + # Adding model 'Choice' + db.create_table('polls_choice', ( + ('available', self.gf('django.db.models.fields.BooleanField')(default=True, blank=True)), + ('name', self.gf('django.db.models.fields.CharField')(max_length=200)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('limit', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), + ('poll', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['polls.Poll'])), + ('order', self.gf('django.db.models.fields.IntegerField')()), + )) + db.send_create_signal('polls', ['Choice']) + + # Adding model 'Vote' + db.create_table('polls_vote', ( + ('voter', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['polls.Voter'])), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('value', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), + ('choice', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['polls.Choice'])), + )) + db.send_create_signal('polls', ['Vote']) + + + def backwards(self, orm): + + # Deleting model 'Category' + db.delete_table('polls_category') + + # Deleting model 'PollUser' + db.delete_table('polls_polluser') + + # Deleting model 'Poll' + db.delete_table('polls_poll') + + # Deleting model 'Comment' + db.delete_table('polls_comment') + + # Deleting model 'Voter' + db.delete_table('polls_voter') + + # Deleting model 'Choice' + db.delete_table('polls_choice') + + # Deleting model 'Vote' + db.delete_table('polls_vote') + + + models = { + 'polls.category': { + 'Meta': {'object_name': 'Category'}, + 'description': ('django.db.models.fields.TextField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'polls.choice': { + 'Meta': {'object_name': 'Choice'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'limit': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'order': ('django.db.models.fields.IntegerField', [], {}), + 'poll': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['polls.Poll']"}) + }, + 'polls.comment': { + 'Meta': {'object_name': 'Comment'}, + 'author_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'poll': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['polls.Poll']"}), + 'text': ('django.db.models.fields.CharField', [], {'max_length': '1000'}) + }, + 'polls.poll': { + 'Meta': {'object_name': 'Poll'}, + 'admin_url': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['polls.PollUser']", 'null': 'True', 'blank': 'True'}), + 'author_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'base_url': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'category': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['polls.Category']", 'null': 'True', 'blank': 'True'}), + 'dated_choices': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '1000'}), + 'enddate': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'hide_choices': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'modification_date': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'open': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'opened_admin': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'public': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '1'}) + }, + 'polls.polluser': { + 'Meta': {'object_name': 'PollUser'}, + 'email': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'modification_date': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'polls.vote': { + 'Meta': {'object_name': 'Vote'}, + 'choice': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['polls.Choice']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'voter': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['polls.Voter']"}) + }, + 'polls.voter': { + 'Meta': {'object_name': 'Voter'}, + 'creation_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'modification_date': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'poll': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['polls.Poll']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['polls.PollUser']"}) + } + } + + complete_apps = ['polls'] diff --git a/papillon/polls/migrations/__init__.py b/papillon/polls/migrations/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/papillon/polls/migrations/__init__.py diff --git a/papillon/settings.py.tpl b/papillon/settings.py.tpl index 1307e24..7ca2761 100644 --- a/papillon/settings.py.tpl +++ b/papillon/settings.py.tpl @@ -6,7 +6,9 @@ DEBUG = True TEMPLATE_DEBUG = DEBUG -ROOT_PATH = '/var/local/django/papillon/papillon/' +import os.path +PROJECT_PATH = os.path.dirname(os.path.abspath(__file__)) + SERVER_URL = 'http://localhost/' EXTRA_URL = 'papillon/' BASE_SITE = SERVER_URL + EXTRA_URL @@ -21,12 +23,18 @@ ADMINS = ( MANAGERS = ADMINS -DATABASE_ENGINE = 'sqlite3' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'ado_mssql'. -DATABASE_NAME = ROOT_PATH + 'papillon.db' # Or path to database file if using sqlite3. -DATABASE_USER = '' # Not used with sqlite3. -DATABASE_PASSWORD = '' # Not used with sqlite3. -DATABASE_HOST = '' # Set to empty string for localhost. Not used with sqlite3. -DATABASE_PORT = '' # Set to empty string for default. Not used with sqlite3. +DATABASES = { + 'default': { + 'ENGINE': 'sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. + 'NAME': PROJECT_PATH + '/papillon.db', # Or path to database file if using sqlite3. + 'USER': 'postgres', # 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. + } +} + + # Local time zone for this installation. Choices can be found here: # http://www.postgresql.org/docs/8.1/static/datetime-keywords.html#DATETIME-TIMEZONE-SET-TABLE @@ -48,7 +56,7 @@ USE_I18N = True # Absolute path to the directory that holds media. # Example: "/home/media/media.lawrence.com/" -MEDIA_ROOT = ROOT_PATH + 'static/' +MEDIA_ROOT = PROJECT_PATH + '/static/' # URL that handles the media served from MEDIA_ROOT. # Example: "http://media.lawrence.com" @@ -83,16 +91,22 @@ 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. - ROOT_PATH + 'templates', + PROJECT_PATH + '/templates', ) INSTALLED_APPS = ( + # contribs 'django.contrib.auth', 'django.contrib.admin', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.markup', + + # third parties + 'south', + + # app 'papillon.polls', ) diff --git a/papillon/urls.py b/papillon/urls.py index 13aa4d0..9d1d8a3 100644 --- a/papillon/urls.py +++ b/papillon/urls.py @@ -29,7 +29,9 @@ feeds = { 'poll': PollLatestEntries, } -base = '^' + settings.EXTRA_URL[:-1] +base = '^' + settings.EXTRA_URL +if not base.endswith('/'): + base += '/' urlpatterns = patterns('', (base + r'admin/doc/', include('django.contrib.admindocs.urls')), @@ -50,7 +52,7 @@ urlpatterns = patterns('', (base + r'feeds/(?P<url>.*)$', 'django.contrib.syndication.views.feed', {'feed_dict': feeds}), (base + r'static/(?P<path>.*)$', 'django.views.static.serve', - {'document_root': settings.ROOT_PATH + 'static'}), + {'document_root': settings.PROJECT_PATH + '/static'}), (base + r'media/(?P<path>.*)$', 'django.views.static.serve', - {'document_root': settings.ROOT_PATH + 'media/'}), + {'document_root': settings.PROJECT_PATH + '/media/'}), ) |