From 23996c860b7f135ad32cd189f211b8352685a482 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Fri, 2 Nov 2012 14:29:30 -0700 Subject: [PATCH] Add codetemplates directory; add Django project template --- codetemplates/django_project/.env | 3 + codetemplates/django_project/Makefile | 18 +++ codetemplates/django_project/Procfile | 1 + codetemplates/django_project/codetemplates | 3 + codetemplates/django_project/manage.py | 8 ++ .../django_project/project_name/__init__.py | 0 .../django_project/project_name/models.py | 3 + .../django_project/project_name/tests.py | 16 +++ .../django_project/project_name/views.py | 1 + codetemplates/django_project/settings.py | 111 ++++++++++++++++++ codetemplates/django_project/urls.py | 16 +++ 11 files changed, 180 insertions(+) create mode 100644 codetemplates/django_project/.env create mode 100644 codetemplates/django_project/Makefile create mode 100644 codetemplates/django_project/Procfile create mode 100644 codetemplates/django_project/codetemplates create mode 100644 codetemplates/django_project/manage.py create mode 100644 codetemplates/django_project/project_name/__init__.py create mode 100644 codetemplates/django_project/project_name/models.py create mode 100644 codetemplates/django_project/project_name/tests.py create mode 100644 codetemplates/django_project/project_name/views.py create mode 100644 codetemplates/django_project/settings.py create mode 100644 codetemplates/django_project/urls.py diff --git a/codetemplates/django_project/.env b/codetemplates/django_project/.env new file mode 100644 index 0000000..d712735 --- /dev/null +++ b/codetemplates/django_project/.env @@ -0,0 +1,3 @@ +DATABASE_URL=sqlite://localhost/local.db +SECRET_KEY={{ secret_key }} +DEBUG=True diff --git a/codetemplates/django_project/Makefile b/codetemplates/django_project/Makefile new file mode 100644 index 0000000..ccb845b --- /dev/null +++ b/codetemplates/django_project/Makefile @@ -0,0 +1,18 @@ +MANAGEPY=honcho run -- env/bin/python manage.py + +update: + virtualenv env + env/bin/pip install -r requirements.txt + $(MANAGEPY) syncdb + +migrate: + $(MANAGEPY) migrate + +run: update + $(MANAGEPY) runserver 0.0.0.0:8000 + +shell: update + $(MANAGEPY) shell + +deploy: + git push heroku master diff --git a/codetemplates/django_project/Procfile b/codetemplates/django_project/Procfile new file mode 100644 index 0000000..62c5af6 --- /dev/null +++ b/codetemplates/django_project/Procfile @@ -0,0 +1 @@ +web: python manage.py run_gunicorn -w4 -b 0.0.0.0:$PORT diff --git a/codetemplates/django_project/codetemplates b/codetemplates/django_project/codetemplates new file mode 100644 index 0000000..d712735 --- /dev/null +++ b/codetemplates/django_project/codetemplates @@ -0,0 +1,3 @@ +DATABASE_URL=sqlite://localhost/local.db +SECRET_KEY={{ secret_key }} +DEBUG=True diff --git a/codetemplates/django_project/manage.py b/codetemplates/django_project/manage.py new file mode 100644 index 0000000..87ab2e2 --- /dev/null +++ b/codetemplates/django_project/manage.py @@ -0,0 +1,8 @@ +#!/usr/bin/env python +import os +import sys + +if __name__ == "__main__": + os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings") + from django.core.management import execute_from_command_line + execute_from_command_line(sys.argv) diff --git a/codetemplates/django_project/project_name/__init__.py b/codetemplates/django_project/project_name/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/codetemplates/django_project/project_name/models.py b/codetemplates/django_project/project_name/models.py new file mode 100644 index 0000000..71a8362 --- /dev/null +++ b/codetemplates/django_project/project_name/models.py @@ -0,0 +1,3 @@ +from django.db import models + +# Create your models here. diff --git a/codetemplates/django_project/project_name/tests.py b/codetemplates/django_project/project_name/tests.py new file mode 100644 index 0000000..501deb7 --- /dev/null +++ b/codetemplates/django_project/project_name/tests.py @@ -0,0 +1,16 @@ +""" +This file demonstrates writing tests using the unittest module. These will pass +when you run "manage.py test". + +Replace this with more appropriate tests for your application. +""" + +from django.test import TestCase + + +class SimpleTest(TestCase): + def test_basic_addition(self): + """ + Tests that 1 + 1 always equals 2. + """ + self.assertEqual(1 + 1, 2) diff --git a/codetemplates/django_project/project_name/views.py b/codetemplates/django_project/project_name/views.py new file mode 100644 index 0000000..60f00ef --- /dev/null +++ b/codetemplates/django_project/project_name/views.py @@ -0,0 +1 @@ +# Create your views here. diff --git a/codetemplates/django_project/settings.py b/codetemplates/django_project/settings.py new file mode 100644 index 0000000..e27ea14 --- /dev/null +++ b/codetemplates/django_project/settings.py @@ -0,0 +1,111 @@ +# Settings for {{ project_name }}. + +import os + +PROJECT_DIR = os.path.abspath(os.path.dirname(__file__)) + +DEBUG = os.environ.get('DEBUG', False) +TEMPLATE_DEBUG = DEBUG + +ADMINS = () +MANAGERS = ADMINS + +import dj_database_url +DATABASES = {'default': dj_database_url.config()} + +SITE_ID = 1 + +LANGUAGE_CODE = 'en-us' +USE_I18N = True +USE_L10N = True + +USE_TZ = True +TIME_ZONE = 'America/Los_Angeles' + +MEDIA_ROOT = os.path.join(PROJECT_DIR, 'media') +MEDIA_URL = '/media/' + +STATIC_ROOT = os.path.join(PROJECT_DIR, 'collected-static') +STATIC_URL = '/static/' + +STATICFILES_DIRS = ( + os.path.join(PROJECT_DIR, 'static'), +) + +STATICFILES_FINDERS = ( + 'django.contrib.staticfiles.finders.FileSystemFinder', + 'django.contrib.staticfiles.finders.AppDirectoriesFinder', +) + +TEMPLATE_LOADERS = ( + 'django.template.loaders.filesystem.Loader', + 'django.template.loaders.app_directories.Loader', +) + +MIDDLEWARE_CLASSES = ( + 'django.middleware.common.CommonMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', +) + +TEMPLATE_CONTEXT_PROCESSORS = ( + 'django.contrib.auth.context_processors.auth', + 'django.core.context_processors.i18n', + 'django.core.context_processors.request', + 'django.core.context_processors.media', + 'django.core.context_processors.static', + 'django.contrib.messages.context_processors.messages', +) + +ROOT_URLCONF = 'urls' + +TEMPLATE_DIRS = ( + os.path.join(PROJECT_DIR, 'templates'), +) + +INSTALLED_APPS = ( + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.sites', + 'django.contrib.messages', + 'django.contrib.staticfiles', + # Custom apps below here. + '{{ project_name }}', +) + +if DEBUG: + INSTALLED_APPS += ('django.contrib.admin',) + +LOGGING = { + 'version': 1, + 'disable_existing_loggers': False, + 'handlers': { + 'console': { + 'level': 'DEBUG' if DEBUG else 'INFO', + 'class': 'logging.StreamHandler', + }, + }, + 'loggers': { + '': { + 'handlers': ['console'], + 'level': 'INFO', + 'propagate': True, + }, + '{{ project_name }}': { + 'handlers': ['console'], + 'level': 'DEBUG' if DEBUG else 'INFO', + 'propagate': True, + }, + } +} + + +# +# Environment +# + +assert 'SECRET_KEY' in os.environ, 'Set SECRET_KEY in your .env file!' +SECRET_KEY = os.environ['SECRET_KEY'] diff --git a/codetemplates/django_project/urls.py b/codetemplates/django_project/urls.py new file mode 100644 index 0000000..c3e6912 --- /dev/null +++ b/codetemplates/django_project/urls.py @@ -0,0 +1,16 @@ +from django.conf import settings +from django.conf.urls import patterns, include, url + + +urlpatterns = patterns('', + url(r'', include('{{ project_name }}.urls')), +) + + +if settings.DEBUG: + from django.contrib import admin + admin.autodiscover() + urlpatterns += patterns('', + url(r'^admin/', include(admin.site.urls)), + ) +