mirror of
https://github.com/cookiecutter/cookiecutter-django.git
synced 2024-11-29 04:54:02 +03:00
Merge branch 'master' into gulpfile-js
This commit is contained in:
commit
1d21d80c72
|
@ -10,7 +10,6 @@ language: python
|
|||
python: 3.5
|
||||
|
||||
env:
|
||||
- TOX_ENV=py27
|
||||
- TOX_ENV=py34
|
||||
- TOX_ENV=py35
|
||||
|
||||
|
|
|
@ -39,9 +39,9 @@ To run all tests using various versions of python in virtualenvs defined in tox.
|
|||
It is possible to tests with some versions of python, to do this the command
|
||||
is::
|
||||
|
||||
$ tox -e py27,py34
|
||||
$ tox -e py34,py35
|
||||
|
||||
Will run py.test with the python2.7, and python3.4 interpreters, for
|
||||
Will run py.test with the python3.4, and python3.5 interpreters, for
|
||||
example.
|
||||
|
||||
To run a particular test with tox for against your current Python version::
|
||||
|
|
|
@ -29,8 +29,9 @@ Features
|
|||
---------
|
||||
|
||||
* For Django 1.10
|
||||
* Works with Python 3.4.x or 3.5.x. Python 3.6 is experimenta
|
||||
* Renders Django projects with 100% starting test coverage
|
||||
* Twitter Bootstrap_ v4.0.0 - `alpha 4`_ (`maintained Foundation fork`_ also available)
|
||||
* Twitter Bootstrap_ v4.0.0 - alpha 6 (`maintained Foundation fork`_ also available)
|
||||
* 12-Factor_ based settings via django-environ_
|
||||
* Secure by default. We believe in SSL.
|
||||
* Optimized development and production settings
|
||||
|
@ -42,7 +43,6 @@ Features
|
|||
* Docker support using docker-compose_ for development and production
|
||||
* Procfile_ for deploying to Heroku
|
||||
* Instructions for deploying to PythonAnywhere_
|
||||
* Works with Python 2.7.x or 3.5.x
|
||||
* Run tests with unittest or py.test
|
||||
* Customizable PostgreSQL version
|
||||
* Experimental support for Amazon Elastic Beanstalk
|
||||
|
@ -61,7 +61,6 @@ Optional Integrations
|
|||
* Integration with Sentry_ for error logging
|
||||
* Integration with Opbeat_ for performance monitoring
|
||||
|
||||
.. _`alpha 4`: http://blog.getbootstrap.com/2016/09/05/bootstrap-4-alpha-4/
|
||||
.. _Bootstrap: https://github.com/twbs/bootstrap
|
||||
.. _django-environ: https://github.com/joke2k/django-environ
|
||||
.. _12-Factor: http://12factor.net/
|
||||
|
@ -128,7 +127,6 @@ Answer the prompts with your own desired options_. For example::
|
|||
use_opbeat [n]: y
|
||||
use_pycharm [n]: y
|
||||
windows [n]: n
|
||||
use_python3 [y]: y
|
||||
use_docker [y]: n
|
||||
use_heroku [n]: y
|
||||
use_compressor [n]: y
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
"use_opbeat": "n",
|
||||
"use_pycharm": "n",
|
||||
"windows": "n",
|
||||
"use_python3": "y",
|
||||
"use_docker": "n",
|
||||
"use_heroku": "n",
|
||||
"use_elasticbeanstalk_experimental": "n",
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# cookiecutter-django documentation build configuration file.
|
||||
#
|
||||
# This file is execfile()d with the current directory set to its containing dir.
|
||||
|
@ -10,8 +8,6 @@
|
|||
# All configuration values have a default; values that are commented out
|
||||
# serve to show the default.
|
||||
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from datetime import datetime
|
||||
import os
|
||||
import sys
|
||||
|
|
|
@ -35,7 +35,7 @@ Make sure your project is fully commited and pushed up to Bitbucket or Github or
|
|||
|
||||
git clone <my-repo-url> # you can also use hg
|
||||
cd my-project-name
|
||||
mkvirtualenv --python=/usr/bin/python3.5 my-project-name # or python2.7, etc
|
||||
mkvirtualenv --python=/usr/bin/python3.5 my-project-name
|
||||
pip install -r requirements/production.txt # may take a few minutes
|
||||
|
||||
|
||||
|
|
|
@ -54,10 +54,6 @@ use_pycharm [n]
|
|||
windows [n]
|
||||
Whether you'll be developing on Windows.
|
||||
|
||||
use_python3 [y]
|
||||
By default, the Python code generated will be for Python 3.x. But if you
|
||||
answer `n` here, it will be legacy Python 2.7 code.
|
||||
|
||||
use_docker [y]
|
||||
Whether to use Docker_, separating the app and database into separate
|
||||
containers.
|
||||
|
|
|
@ -12,7 +12,6 @@ A portion of this code was adopted from Django's standard crypto functions and
|
|||
utilities, specifically:
|
||||
https://github.com/django/django/blob/master/django/utils/crypto.py
|
||||
"""
|
||||
from __future__ import print_function
|
||||
import os
|
||||
import random
|
||||
import shutil
|
||||
|
|
2
setup.py
2
setup.py
|
@ -39,8 +39,6 @@ setup(
|
|||
'Natural Language :: English',
|
||||
'License :: OSI Approved :: BSD License',
|
||||
'Programming Language :: Python',
|
||||
'Programming Language :: Python :: 2',
|
||||
'Programming Language :: Python :: 2.7',
|
||||
'Programming Language :: Python :: 3',
|
||||
'Programming Language :: Python :: 3.4',
|
||||
'Programming Language :: Python :: 3.5',
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
import os
|
||||
import re
|
||||
import sh
|
||||
|
|
2
tox.ini
2
tox.ini
|
@ -1,6 +1,6 @@
|
|||
[tox]
|
||||
skipsdist = true
|
||||
envlist = py27,py34,py35
|
||||
envlist = py34,py35
|
||||
|
||||
[testenv]
|
||||
passenv = LC_ALL, LANG, HOME
|
||||
|
|
|
@ -8,8 +8,4 @@ before_install:
|
|||
- sudo apt-get install -qq libsqlite3-dev libxml2 libxml2-dev libssl-dev libbz2-dev wget curl llvm
|
||||
language: python
|
||||
python:
|
||||
{% if cookiecutter.use_python3 == 'y' -%}
|
||||
- "3.5"
|
||||
{% else %}
|
||||
- "2.7"
|
||||
{%- endif %}
|
||||
|
|
|
@ -1,8 +1,4 @@
|
|||
{% if cookiecutter.use_python3 == 'y' -%}
|
||||
FROM python:3.5
|
||||
{% else %}
|
||||
FROM python:2.7
|
||||
{%- endif %}
|
||||
ENV PYTHONUNBUFFERED 1
|
||||
|
||||
# Requirements have to be pulled and installed here, otherwise caching won't work
|
||||
|
|
|
@ -1,8 +1,4 @@
|
|||
{% if cookiecutter.use_python3 == 'y' -%}
|
||||
FROM python:3.5
|
||||
{% else %}
|
||||
FROM python:2.7
|
||||
{%- endif %}
|
||||
ENV PYTHONUNBUFFERED 1
|
||||
|
||||
# Requirements have to be pulled and installed here, otherwise caching won't work
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
# -*- coding: utf-8 -*-
|
|
@ -1,4 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
Django settings for {{cookiecutter.project_name}} project.
|
||||
|
||||
|
@ -8,8 +7,6 @@ https://docs.djangoproject.com/en/dev/topics/settings/
|
|||
For the full list of settings and their values, see
|
||||
https://docs.djangoproject.com/en/dev/ref/settings/
|
||||
"""
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
import environ
|
||||
|
||||
ROOT_DIR = environ.Path(__file__) - 3 # ({{ cookiecutter.project_slug }}/config/settings/base.py - 3 = {{ cookiecutter.project_slug }}/)
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
Local settings
|
||||
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
Production Configurations
|
||||
|
||||
|
@ -12,10 +11,8 @@ Production Configurations
|
|||
- Use opbeat for error reporting
|
||||
{% endif %}
|
||||
"""
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
from boto.s3.connection import OrdinaryCallingFormat
|
||||
from django.utils import six
|
||||
{% if cookiecutter.use_sentry_for_error_reporting == 'y' %}
|
||||
import logging
|
||||
{% endif %}
|
||||
|
@ -109,9 +106,9 @@ AWS_EXPIRY = 60 * 60 * 24 * 7
|
|||
# TODO See: https://github.com/jschneier/django-storages/issues/47
|
||||
# Revert the following and use str after the above-mentioned bug is fixed in
|
||||
# either django-storage-redux or boto
|
||||
control = 'max-age=%d, s-maxage=%d, must-revalidate' % (AWS_EXPIRY, AWS_EXPIRY)
|
||||
AWS_HEADERS = {
|
||||
'Cache-Control': six.b('max-age=%d, s-maxage=%d, must-revalidate' % (
|
||||
AWS_EXPIRY, AWS_EXPIRY))
|
||||
'Cache-Control': bytes(control, encoding='latin-1')
|
||||
}
|
||||
|
||||
# URL that handles the media served from MEDIA_ROOT, used for managing
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
'''
|
||||
Test settings
|
||||
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.conf import settings
|
||||
from django.conf.urls import include, url
|
||||
from django.conf.urls.static import static
|
||||
|
|
|
@ -57,7 +57,7 @@ services:
|
|||
{% endif %}
|
||||
|
||||
redis:
|
||||
image: redis:latest
|
||||
image: redis:3.0
|
||||
{% if cookiecutter.use_celery == 'y' %}
|
||||
celeryworker:
|
||||
build:
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# {{ cookiecutter.project_name }} documentation build configuration file, created by
|
||||
# sphinx-quickstart.
|
||||
#
|
||||
|
@ -11,8 +9,6 @@
|
|||
# All configuration values have a default; values that are commented out
|
||||
# serve to show the default.
|
||||
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
{% if cookiecutter.use_python3 == 'y' -%}
|
||||
# Wheel 0.25+ needed to install certain packages on CPython 3.5+
|
||||
# like Pillow and psycopg2
|
||||
# See http://bitly.com/wheel-building-fails-CPython-35
|
||||
# Verified bug on Python 3.5.1
|
||||
wheel==0.29.0
|
||||
{%- endif %}
|
||||
|
||||
|
||||
# Bleeding edge Django
|
||||
django==1.10.7 # pyup: >=1.10,<1.11
|
||||
|
|
|
@ -1 +1 @@
|
|||
{% if cookiecutter.use_python3 == 'y' -%}python-3.5.3{% else %}python-2.7.10{%- endif %}
|
||||
python-3.5.3
|
||||
|
|
|
@ -6,11 +6,7 @@ PROJECT_DIR="$(dirname "$WORK_DIR")"
|
|||
pip --version >/dev/null 2>&1 || {
|
||||
echo >&2 -e "\npip is required but it's not installed."
|
||||
echo >&2 -e "You can install it by running the following command:\n"
|
||||
{% if cookiecutter.use_python3 == 'y' -%}
|
||||
echo >&2 "wget https://bootstrap.pypa.io/get-pip.py --output-document=get-pip.py; chmod +x get-pip.py; sudo -H python3 get-pip.py"
|
||||
{% else %}
|
||||
echo >&2 "wget https://bootstrap.pypa.io/get-pip.py --output-document=get-pip.py; chmod +x get-pip.py; sudo -H python2 get-pip.py"
|
||||
{%- endif %}
|
||||
echo >&2 -e "\n"
|
||||
echo >&2 -e "\nFor more information, see pip documentation: https://pip.pypa.io/en/latest/"
|
||||
exit 1;
|
||||
|
@ -19,11 +15,7 @@ pip --version >/dev/null 2>&1 || {
|
|||
virtualenv --version >/dev/null 2>&1 || {
|
||||
echo >&2 -e "\nvirtualenv is required but it's not installed."
|
||||
echo >&2 -e "You can install it by running the following command:\n"
|
||||
{% if cookiecutter.use_python3 == 'y' -%}
|
||||
echo >&2 "sudo -H pip3 install virtualenv"
|
||||
{% else %}
|
||||
echo >&2 "sudo -H pip2 install virtualenv"
|
||||
{%- endif %}
|
||||
echo >&2 -e "\n"
|
||||
echo >&2 -e "\nFor more information, see virtualenv documentation: https://virtualenv.pypa.io/en/latest/"
|
||||
exit 1;
|
||||
|
@ -32,11 +24,7 @@ virtualenv --version >/dev/null 2>&1 || {
|
|||
if [ -z "$VIRTUAL_ENV" ]; then
|
||||
echo >&2 -e "\nYou need activate a virtualenv first"
|
||||
echo >&2 -e 'If you do not have a virtualenv created, run the following command to create and automatically activate a new virtualenv named "venv" on current folder:\n'
|
||||
{% if cookiecutter.use_python3 == 'y' -%}
|
||||
echo >&2 -e "virtualenv venv --python=\`which python3\`"
|
||||
{% else %}
|
||||
echo >&2 -e "virtualenv venv --python=\`which python2\`"
|
||||
{%- endif %}
|
||||
echo >&2 -e "\nTo leave/disable the currently active virtualenv, run the following command:\n"
|
||||
echo >&2 "deactivate"
|
||||
echo >&2 -e "\nTo activate the virtualenv again, run the following command:\n"
|
||||
|
@ -52,4 +40,3 @@ else
|
|||
pip install -r $PROJECT_DIR/requirements.txt
|
||||
{%- endif %}
|
||||
fi
|
||||
|
||||
|
|
|
@ -3,11 +3,7 @@
|
|||
build-essential
|
||||
#required to translate
|
||||
gettext
|
||||
{% if cookiecutter.use_python3 == 'y' -%}
|
||||
python3-dev
|
||||
{% else %}
|
||||
python-dev
|
||||
{%- endif %}
|
||||
|
||||
##shared dependencies of:
|
||||
##Pillow, pylibmc
|
||||
|
|
|
@ -3,11 +3,7 @@
|
|||
build-essential
|
||||
#required to translate
|
||||
gettext
|
||||
{% if cookiecutter.use_python3 == 'y' -%}
|
||||
python3-dev
|
||||
{% else %}
|
||||
python-dev
|
||||
{%- endif %}
|
||||
|
||||
##shared dependencies of:
|
||||
##Pillow, pylibmc
|
||||
|
@ -25,4 +21,3 @@ libwebp-dev
|
|||
|
||||
##django-extensions
|
||||
graphviz-dev
|
||||
|
||||
|
|
|
@ -3,11 +3,7 @@
|
|||
build-essential
|
||||
#required to translate
|
||||
gettext
|
||||
{% if cookiecutter.use_python3 == 'y' -%}
|
||||
python3-dev
|
||||
{% else %}
|
||||
python-dev
|
||||
{%- endif %}
|
||||
|
||||
##shared dependencies of:
|
||||
##Pillow, pylibmc
|
||||
|
@ -25,4 +21,3 @@ libwebp-dev
|
|||
|
||||
##django-extensions
|
||||
graphviz-dev
|
||||
|
||||
|
|
|
@ -1,3 +1,2 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
__version__ = '{{ cookiecutter.version }}'
|
||||
__version_info__ = tuple([int(num) if num.isdigit() else num for num in __version__.replace('-', '.', 1).split('.')])
|
||||
|
|
|
@ -3,4 +3,3 @@ To understand why this file is here, please read:
|
|||
|
||||
http://cookiecutter-django.readthedocs.io/en/latest/faq.html#why-is-there-a-django-contrib-sites-directory-in-cookiecutter-django
|
||||
"""
|
||||
# -*- coding: utf-8 -*-
|
||||
|
|
|
@ -3,4 +3,3 @@ To understand why this file is here, please read:
|
|||
|
||||
http://cookiecutter-django.readthedocs.io/en/latest/faq.html#why-is-there-a-django-contrib-sites-directory-in-cookiecutter-django
|
||||
"""
|
||||
# -*- coding: utf-8 -*-
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import django.contrib.sites.models
|
||||
from django.contrib.sites.models import _simple_domain_name_validator
|
||||
from django.db import migrations, models
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import django.contrib.sites.models
|
||||
from django.db import migrations, models
|
||||
|
||||
|
|
|
@ -3,10 +3,6 @@ To understand why this file is here, please read:
|
|||
|
||||
http://cookiecutter-django.readthedocs.io/en/latest/faq.html#why-is-there-a-django-contrib-sites-directory-in-cookiecutter-django
|
||||
"""
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import migrations
|
||||
|
||||
|
|
|
@ -3,4 +3,3 @@ To understand why this file is here, please read:
|
|||
|
||||
http://cookiecutter-django.readthedocs.io/en/latest/faq.html#why-is-there-a-django-contrib-sites-directory-in-cookiecutter-django
|
||||
"""
|
||||
# -*- coding: utf-8 -*-
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{% if cookiecutter.use_celery == 'y' %}
|
||||
from __future__ import absolute_import
|
||||
import os
|
||||
from celery import Celery
|
||||
from django.apps import apps, AppConfig
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
# -*- coding: utf-8 -*-
|
|
@ -1,4 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from django.conf import settings
|
||||
from allauth.account.adapter import DefaultAccountAdapter
|
||||
from allauth.socialaccount.adapter import DefaultSocialAccountAdapter
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
from django import forms
|
||||
from django.contrib import admin
|
||||
from django.contrib.auth.admin import UserAdmin as AuthUserAdmin
|
||||
|
|
|
@ -1,7 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.10.1 on 2016-09-23 04:36
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import django.contrib.auth.models
|
||||
import django.contrib.auth.validators
|
||||
from django.db import migrations, models
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals, absolute_import
|
||||
|
||||
from django.contrib.auth.models import AbstractUser
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.db import models
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
from django.conf.urls import url
|
||||
|
||||
from . import views
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.views.generic import DetailView, ListView, RedirectView, UpdateView
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user