mirror of
https://github.com/cookiecutter/cookiecutter-django.git
synced 2025-07-31 02:09:49 +03:00
Merge eb5de902f6
into 36c58f1d2c
This commit is contained in:
commit
5d50d6a5cb
|
@ -50,6 +50,7 @@ Optional Integrations
|
||||||
|
|
||||||
* Serve static files from Amazon S3 or Whitenoise_
|
* Serve static files from Amazon S3 or Whitenoise_
|
||||||
* Configuration for Celery_
|
* Configuration for Celery_
|
||||||
|
* Configuration for Precommit-Hooks_
|
||||||
* Integration with MailHog_ for local email testing
|
* Integration with MailHog_ for local email testing
|
||||||
* Integration with Sentry_ for error logging
|
* Integration with Sentry_ for error logging
|
||||||
* Integration with NewRelic_ for performance monitoring
|
* Integration with NewRelic_ for performance monitoring
|
||||||
|
@ -72,7 +73,7 @@ Optional Integrations
|
||||||
.. _docker-compose: https://www.github.com/docker/compose
|
.. _docker-compose: https://www.github.com/docker/compose
|
||||||
.. _Opbeat: https://opbeat.com/
|
.. _Opbeat: https://opbeat.com/
|
||||||
.. _PythonAnywhere: https://www.pythonanywhere.com/
|
.. _PythonAnywhere: https://www.pythonanywhere.com/
|
||||||
|
.. _Precommit-Hooks_: http://pre-commit.com/
|
||||||
|
|
||||||
Constraints
|
Constraints
|
||||||
-----------
|
-----------
|
||||||
|
@ -127,6 +128,7 @@ Answer the prompts with your own desired options_. For example::
|
||||||
use_docker [y]: y
|
use_docker [y]: y
|
||||||
use_heroku [n]: n
|
use_heroku [n]: n
|
||||||
use_grunt [n]: y
|
use_grunt [n]: y
|
||||||
|
use_precommit_hooks [n]: n
|
||||||
Select open_source_license:
|
Select open_source_license:
|
||||||
1 - MIT
|
1 - MIT
|
||||||
2 - BSD
|
2 - BSD
|
||||||
|
@ -157,6 +159,10 @@ For development, see the following for local development:
|
||||||
.. _`Developing locally`: http://cookiecutter-django.readthedocs.io/en/latest/developing-locally.html
|
.. _`Developing locally`: http://cookiecutter-django.readthedocs.io/en/latest/developing-locally.html
|
||||||
.. _`Developing locally using docker`: http://cookiecutter-django.readthedocs.io/en/latest/developing-locally-docker.html
|
.. _`Developing locally using docker`: http://cookiecutter-django.readthedocs.io/en/latest/developing-locally-docker.html
|
||||||
|
|
||||||
|
If you chose to install pre-commit hooks, make sure to also run this after git init::
|
||||||
|
|
||||||
|
$ pre-commit install
|
||||||
|
|
||||||
Community
|
Community
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
"use_docker": "y",
|
"use_docker": "y",
|
||||||
"use_heroku": "n",
|
"use_heroku": "n",
|
||||||
"js_task_runner": ["Gulp", "Grunt", "None"],
|
"js_task_runner": ["Gulp", "Grunt", "None"],
|
||||||
|
"use_precommit_hooks": "n",
|
||||||
"use_lets_encrypt": "n",
|
"use_lets_encrypt": "n",
|
||||||
"open_source_license": ["MIT", "BSD", "Apache Software License 2.0", "Not open source"]
|
"open_source_license": ["MIT", "BSD", "Apache Software License 2.0", "Not open source"]
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,6 +49,9 @@ use_python2 [n]
|
||||||
By default, the Python code generated will be for Python 3.x. But if you
|
By default, the Python code generated will be for Python 3.x. But if you
|
||||||
answer `y` here, it will be legacy Python 2.7 code.
|
answer `y` here, it will be legacy Python 2.7 code.
|
||||||
|
|
||||||
|
use_precommit_hooks [n]
|
||||||
|
If yes, include a basic configurations for git hooks that have to pass on each commit (or skipped).
|
||||||
|
|
||||||
.. _WhiteNoise: https://github.com/evansd/whitenoise
|
.. _WhiteNoise: https://github.com/evansd/whitenoise
|
||||||
.. _Celery: https://github.com/celery/celery
|
.. _Celery: https://github.com/celery/celery
|
||||||
.. _MailHog: https://github.com/mailhog/MailHog
|
.. _MailHog: https://github.com/mailhog/MailHog
|
||||||
|
|
|
@ -111,6 +111,13 @@ def remove_pycharm_dir(project_directory):
|
||||||
shutil.rmtree(docs_dir_location)
|
shutil.rmtree(docs_dir_location)
|
||||||
|
|
||||||
|
|
||||||
|
def remove_pre_commit_file():
|
||||||
|
"""
|
||||||
|
Removes pre-commit hook yaml file
|
||||||
|
"""
|
||||||
|
os.remove(os.path.join(PROJECT_DIRECTORY, '.pre-commit-config.yaml'))
|
||||||
|
|
||||||
|
|
||||||
def remove_heroku_files():
|
def remove_heroku_files():
|
||||||
"""
|
"""
|
||||||
Removes files needed for heroku if it isn't going to be used
|
Removes files needed for heroku if it isn't going to be used
|
||||||
|
@ -245,5 +252,9 @@ if '{{ cookiecutter.use_lets_encrypt }}'.lower() == 'y' and '{{ cookiecutter.use
|
||||||
"You must generate a dhparams.pem file before running docker-compose in a production environment."
|
"You must generate a dhparams.pem file before running docker-compose in a production environment."
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# 11. If pre-commit hooks aren't used, remove pre-commit yaml file
|
||||||
|
if '{{ cookiecutter.use_precommit_hooks }}'.lower() != 'y':
|
||||||
|
remove_pre_commit_file()
|
||||||
|
|
||||||
# 4. Copy files from /docs/ to {{ cookiecutter.project_slug }}/docs/
|
# 4. Copy files from /docs/ to {{ cookiecutter.project_slug }}/docs/
|
||||||
# copy_doc_files(PROJECT_DIRECTORY)
|
# copy_doc_files(PROJECT_DIRECTORY)
|
||||||
|
|
17
{{cookiecutter.project_slug}}/.pre-commit-config.yaml
Normal file
17
{{cookiecutter.project_slug}}/.pre-commit-config.yaml
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
- repo: git://github.com/pre-commit/pre-commit-hooks
|
||||||
|
sha: "6b1aa19425b35f8c34f43ada8f1045b028dc19a5"
|
||||||
|
hooks:
|
||||||
|
# keep ids alphabetical! see http://pre-commit.com/hooks.html
|
||||||
|
- id: debug-statements
|
||||||
|
files: \.py$
|
||||||
|
- id: flake8
|
||||||
|
files: \.(py|sh)$
|
||||||
|
- id: name-tests-test
|
||||||
|
name: Django Tests should start with test_ prefix
|
||||||
|
files: tests/.+\.py$
|
||||||
|
args: ['--django'] # args: ['--django'] will match test*.py instead.
|
||||||
|
- repo: git://github.com/FalconSocial/pre-commit-python-sorter
|
||||||
|
sha: 1.0.4
|
||||||
|
hooks:
|
||||||
|
- id: python-import-sorter
|
||||||
|
args: ['--diff']
|
|
@ -73,6 +73,26 @@ Please note: For Celery's import magic to work, it is important *where* the cele
|
||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
{% if cookiecutter.use_precommit_hooks == "y" %}
|
||||||
|
|
||||||
|
Pre-Commit Hooks
|
||||||
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
To use pre-commit hooks when committing messages, after initial git commit, run
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
pre-commit install
|
||||||
|
|
||||||
|
Now on each commit message, this will run whatever commit plugins have been enabled. To skip a pre-commit hook, add a -n (no verify) parameter at the end of your commit message.
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
git commit -m "i put a really bad pdb in here" -n
|
||||||
|
|
||||||
|
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
|
||||||
{% if cookiecutter.use_mailhog == "y" %}
|
{% if cookiecutter.use_mailhog == "y" %}
|
||||||
|
|
||||||
Email Server
|
Email Server
|
||||||
|
|
|
@ -14,3 +14,7 @@ ipdb==0.10.0
|
||||||
|
|
||||||
pytest-django==2.9.1
|
pytest-django==2.9.1
|
||||||
pytest-sugar==0.7.1
|
pytest-sugar==0.7.1
|
||||||
|
|
||||||
|
{% if cookiecutter.use_precommit_hooks == 'y' -%}
|
||||||
|
pre-commit==0.8.2
|
||||||
|
{%- endif %}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user