mirror of
https://github.com/cookiecutter/cookiecutter-django.git
synced 2024-11-29 21:14:03 +03:00
Merge pull request #128 from talpor/master
Yay! Update django to 1.7 👍 👍 👍 👍 👍
This commit is contained in:
commit
e84c9daea4
|
@ -12,7 +12,7 @@ A cookiecutter_ template for Django.
|
||||||
Features
|
Features
|
||||||
---------
|
---------
|
||||||
|
|
||||||
* For Django 1.6
|
* For Django 1.7
|
||||||
* Twitter Bootstrap_ 3
|
* Twitter Bootstrap_ 3
|
||||||
* AngularJS_
|
* AngularJS_
|
||||||
* Settings management via django-configurations_
|
* Settings management via django-configurations_
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# Bleeding edge Django
|
# Bleeding edge Django
|
||||||
django==1.6.6
|
django==1.7
|
||||||
|
|
||||||
# Configuration
|
# Configuration
|
||||||
django-configurations==0.8
|
django-configurations==0.8
|
||||||
|
@ -13,7 +13,6 @@ django-crispy-forms==1.4.0
|
||||||
django-floppyforms==1.2.0
|
django-floppyforms==1.2.0
|
||||||
|
|
||||||
# Models
|
# Models
|
||||||
South==1.0
|
|
||||||
django-model-utils==2.2
|
django-model-utils==2.2
|
||||||
|
|
||||||
# images
|
# images
|
||||||
|
|
|
@ -37,9 +37,11 @@ class Common(Configuration):
|
||||||
'django.contrib.admin',
|
'django.contrib.admin',
|
||||||
)
|
)
|
||||||
THIRD_PARTY_APPS = (
|
THIRD_PARTY_APPS = (
|
||||||
'south', # Database migration helpers:
|
|
||||||
'crispy_forms', # Form layouts
|
'crispy_forms', # Form layouts
|
||||||
'avatar', # for user avatars
|
'avatar', # for user avatars
|
||||||
|
'allauth', # registration
|
||||||
|
'allauth.account', # registration
|
||||||
|
'allauth.socialaccount', # registration
|
||||||
)
|
)
|
||||||
|
|
||||||
# Apps specific for this project go here.
|
# Apps specific for this project go here.
|
||||||
|
@ -50,14 +52,6 @@ class Common(Configuration):
|
||||||
|
|
||||||
# See: https://docs.djangoproject.com/en/dev/ref/settings/#installed-apps
|
# See: https://docs.djangoproject.com/en/dev/ref/settings/#installed-apps
|
||||||
INSTALLED_APPS = DJANGO_APPS + THIRD_PARTY_APPS + LOCAL_APPS
|
INSTALLED_APPS = DJANGO_APPS + THIRD_PARTY_APPS + LOCAL_APPS
|
||||||
|
|
||||||
INSTALLED_APPS += (
|
|
||||||
# Needs to come last for now because of a weird edge case between
|
|
||||||
# South and allauth
|
|
||||||
'allauth', # registration
|
|
||||||
'allauth.account', # registration
|
|
||||||
'allauth.socialaccount', # registration
|
|
||||||
)
|
|
||||||
# END APP CONFIGURATION
|
# END APP CONFIGURATION
|
||||||
|
|
||||||
# MIDDLEWARE CONFIGURATION
|
# MIDDLEWARE CONFIGURATION
|
||||||
|
@ -71,6 +65,13 @@ class Common(Configuration):
|
||||||
)
|
)
|
||||||
# END MIDDLEWARE CONFIGURATION
|
# END MIDDLEWARE CONFIGURATION
|
||||||
|
|
||||||
|
# MIGRATIONS CONFIGURATION
|
||||||
|
MIGRATION_MODULES = {
|
||||||
|
'sites': 'contrib.sites.migrations'
|
||||||
|
}
|
||||||
|
# END MIGRATIONS CONFIGURATION
|
||||||
|
|
||||||
|
|
||||||
# DEBUG
|
# DEBUG
|
||||||
# See: https://docs.djangoproject.com/en/dev/ref/settings/#debug
|
# See: https://docs.djangoproject.com/en/dev/ref/settings/#debug
|
||||||
DEBUG = values.BooleanValue(False)
|
DEBUG = values.BooleanValue(False)
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.db import models, migrations
|
||||||
|
import django.contrib.sites.models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='Site',
|
||||||
|
fields=[
|
||||||
|
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
|
||||||
|
('domain', models.CharField(max_length=100, verbose_name='domain name', validators=[django.contrib.sites.models._simple_domain_name_validator])),
|
||||||
|
('name', models.CharField(max_length=50, verbose_name='display name')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'ordering': ('domain',),
|
||||||
|
'db_table': 'django_site',
|
||||||
|
'verbose_name': 'site',
|
||||||
|
'verbose_name_plural': 'sites',
|
||||||
|
},
|
||||||
|
bases=(models.Model,),
|
||||||
|
),
|
||||||
|
]
|
|
@ -0,0 +1,40 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.conf import settings
|
||||||
|
from django.db import models, migrations
|
||||||
|
|
||||||
|
|
||||||
|
def update_site_forward(apps, schema_editor):
|
||||||
|
"""Set site domain and name."""
|
||||||
|
Site = apps.get_model("sites", "Site")
|
||||||
|
Site.objects.update_or_create(
|
||||||
|
id=settings.SITE_ID,
|
||||||
|
defaults={
|
||||||
|
"domain": "{{cookiecutter.domain_name}}",
|
||||||
|
"name": "{{cookiecutter.project_name}}"
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def update_site_backward(apps, schema_editor):
|
||||||
|
"""Revert site domain and name to default."""
|
||||||
|
Site = apps.get_model("sites", "Site")
|
||||||
|
Site.objects.update_or_create(
|
||||||
|
id=settings.SITE_ID,
|
||||||
|
defaults={
|
||||||
|
"domain": "example.com",
|
||||||
|
"name": "example.com"
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('sites', '0001_initial'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.RunPython(update_site_forward, update_site_backward),
|
||||||
|
]
|
0
{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/manage.py
Normal file → Executable file
0
{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/manage.py
Normal file → Executable file
|
@ -1,96 +1,40 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
import datetime
|
from __future__ import unicode_literals
|
||||||
from south.db import db
|
|
||||||
from south.v2 import SchemaMigration
|
from django.db import models, migrations
|
||||||
from django.db import models
|
import django.utils.timezone
|
||||||
|
import django.core.validators
|
||||||
|
|
||||||
|
|
||||||
class Migration(SchemaMigration):
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
def forwards(self, orm):
|
dependencies = [
|
||||||
# Adding model 'User'
|
('auth', '0001_initial'),
|
||||||
db.create_table(u'users_user', (
|
]
|
||||||
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
|
|
||||||
('password', self.gf('django.db.models.fields.CharField')(max_length=128)),
|
|
||||||
('last_login', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)),
|
|
||||||
('is_superuser', self.gf('django.db.models.fields.BooleanField')(default=False)),
|
|
||||||
('username', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)),
|
|
||||||
('first_name', self.gf('django.db.models.fields.CharField')(max_length=30, blank=True)),
|
|
||||||
('last_name', self.gf('django.db.models.fields.CharField')(max_length=30, blank=True)),
|
|
||||||
('email', self.gf('django.db.models.fields.EmailField')(max_length=75, blank=True)),
|
|
||||||
('is_staff', self.gf('django.db.models.fields.BooleanField')(default=False)),
|
|
||||||
('is_active', self.gf('django.db.models.fields.BooleanField')(default=True)),
|
|
||||||
('date_joined', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)),
|
|
||||||
))
|
|
||||||
db.send_create_signal(u'users', ['User'])
|
|
||||||
|
|
||||||
# Adding M2M table for field groups on 'User'
|
operations = [
|
||||||
m2m_table_name = db.shorten_name(u'users_user_groups')
|
migrations.CreateModel(
|
||||||
db.create_table(m2m_table_name, (
|
name='User',
|
||||||
('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
|
fields=[
|
||||||
('user', models.ForeignKey(orm[u'users.user'], null=False)),
|
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
|
||||||
('group', models.ForeignKey(orm[u'auth.group'], null=False))
|
('password', models.CharField(max_length=128, verbose_name='password')),
|
||||||
))
|
('last_login', models.DateTimeField(default=django.utils.timezone.now, verbose_name='last login')),
|
||||||
db.create_unique(m2m_table_name, ['user_id', 'group_id'])
|
('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
|
||||||
|
('username', models.CharField(help_text='Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only.', unique=True, max_length=30, verbose_name='username', validators=[django.core.validators.RegexValidator('^[\\w.@+-]+$', 'Enter a valid username.', 'invalid')])),
|
||||||
# Adding M2M table for field user_permissions on 'User'
|
('first_name', models.CharField(max_length=30, verbose_name='first name', blank=True)),
|
||||||
m2m_table_name = db.shorten_name(u'users_user_user_permissions')
|
('last_name', models.CharField(max_length=30, verbose_name='last name', blank=True)),
|
||||||
db.create_table(m2m_table_name, (
|
('email', models.EmailField(max_length=75, verbose_name='email address', blank=True)),
|
||||||
('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
|
('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')),
|
||||||
('user', models.ForeignKey(orm[u'users.user'], null=False)),
|
('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')),
|
||||||
('permission', models.ForeignKey(orm[u'auth.permission'], null=False))
|
('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')),
|
||||||
))
|
('groups', models.ManyToManyField(related_query_name='user', related_name='user_set', to='auth.Group', blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of his/her group.', verbose_name='groups')),
|
||||||
db.create_unique(m2m_table_name, ['user_id', 'permission_id'])
|
('user_permissions', models.ManyToManyField(related_query_name='user', related_name='user_set', to='auth.Permission', blank=True, help_text='Specific permissions for this user.', verbose_name='user permissions')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
def backwards(self, orm):
|
'abstract': False,
|
||||||
# Deleting model 'User'
|
'verbose_name': 'user',
|
||||||
db.delete_table(u'users_user')
|
'verbose_name_plural': 'users',
|
||||||
|
},
|
||||||
# Removing M2M table for field groups on 'User'
|
bases=(models.Model,),
|
||||||
db.delete_table(db.shorten_name(u'users_user_groups'))
|
)
|
||||||
|
]
|
||||||
# Removing M2M table for field user_permissions on 'User'
|
|
||||||
db.delete_table(db.shorten_name(u'users_user_user_permissions'))
|
|
||||||
|
|
||||||
|
|
||||||
models = {
|
|
||||||
u'auth.group': {
|
|
||||||
'Meta': {'object_name': 'Group'},
|
|
||||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
|
||||||
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
|
|
||||||
'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
|
|
||||||
},
|
|
||||||
u'auth.permission': {
|
|
||||||
'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
|
|
||||||
'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
|
||||||
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
|
|
||||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
|
||||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
|
|
||||||
},
|
|
||||||
u'contenttypes.contenttype': {
|
|
||||||
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
|
|
||||||
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
|
||||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
|
||||||
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
|
||||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
|
|
||||||
},
|
|
||||||
u'users.user': {
|
|
||||||
'Meta': {'object_name': 'User'},
|
|
||||||
'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
|
||||||
'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
|
|
||||||
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
|
|
||||||
'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
|
|
||||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
|
||||||
'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
|
|
||||||
'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
|
||||||
'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
|
||||||
'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
|
||||||
'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
|
|
||||||
'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
|
||||||
'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
|
|
||||||
'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
complete_apps = ['users']
|
|
||||||
|
|
|
@ -1,73 +0,0 @@
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
import datetime
|
|
||||||
from south.db import db
|
|
||||||
from south.v2 import DataMigration
|
|
||||||
from django.conf import settings
|
|
||||||
from django.db import models
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(DataMigration):
|
|
||||||
|
|
||||||
def forwards(self, orm):
|
|
||||||
"""Set site domain and name."""
|
|
||||||
Site = orm['sites.Site']
|
|
||||||
site = Site.objects.get(id=settings.SITE_ID)
|
|
||||||
site.domain = "{{cookiecutter.domain_name}}"
|
|
||||||
site.name = "{{cookiecutter.project_name}}"
|
|
||||||
site.save()
|
|
||||||
|
|
||||||
def backwards(self, orm):
|
|
||||||
"""Revert site domain and name to default."""
|
|
||||||
Site = orm['sites.Site']
|
|
||||||
site = Site.objects.get(id=settings.SITE_ID)
|
|
||||||
site.domain = 'example.com'
|
|
||||||
site.name = 'example.com'
|
|
||||||
site.save()
|
|
||||||
|
|
||||||
models = {
|
|
||||||
u'auth.group': {
|
|
||||||
'Meta': {'object_name': 'Group'},
|
|
||||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
|
||||||
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
|
|
||||||
'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
|
|
||||||
},
|
|
||||||
u'auth.permission': {
|
|
||||||
'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
|
|
||||||
'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
|
||||||
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
|
|
||||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
|
||||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
|
|
||||||
},
|
|
||||||
u'contenttypes.contenttype': {
|
|
||||||
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
|
|
||||||
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
|
||||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
|
||||||
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
|
||||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
|
|
||||||
},
|
|
||||||
u'sites.site': {
|
|
||||||
'Meta': {'ordering': "(u'domain',)", 'object_name': 'Site', 'db_table': "u'django_site'"},
|
|
||||||
'domain': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
|
||||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
|
||||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
|
|
||||||
},
|
|
||||||
u'users.user': {
|
|
||||||
'Meta': {'object_name': 'User'},
|
|
||||||
'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
|
||||||
'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
|
|
||||||
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
|
|
||||||
'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}),
|
|
||||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
|
||||||
'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
|
|
||||||
'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
|
||||||
'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
|
||||||
'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
|
||||||
'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
|
|
||||||
'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
|
||||||
'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}),
|
|
||||||
'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
complete_apps = ['sites', 'users']
|
|
||||||
symmetrical = True
|
|
Loading…
Reference in New Issue
Block a user