Поскольку это не учебник, ориентированный на каркас CookieCutter-Django, я не буду получать слишком много в нее. Я включу только, как я влюбился в рамки, когда обнаружил, какие функции имели, что я боролся с реализацией на обычный способ создать проект Django. Включены некоторые функции Twitter Bootstrap, Django All-Auth, отправляя электронные письма с помощью Anymail, хранилище медиа-файлов с использованием AWS S3 или GCP. Он также поставляется с пользовательским пользователем и поддерживает Docker.
https://github.com/pydanny/cookiecutter-django
Откройте свой терминал. Убедитесь, что вы устанавливаете cookieCutter на вашу машину. В противном случае вы столкнетесь с ошибкой.
$ pip install.7.0 "
Теперь запустите эту команду:
$ CookieCutter https://github.com/pydanny/cookiecutter-django.
Вас попросят некоторые значения, когда вы запускаете команду. Обязательно пройдите через документы, чтобы не повторить этот шаг.
https://cookiecutter-django.readthedocs.io/en/latest/project-generation-options.html
You've downloaded /Users/user/.cookiecutters/cookiecutter-django before. Is it okay to delete and re-download it? [yes]: yes project_name [My Awesome Project]: Blog Tutorial project_slug [blog_tutorial]: blog_tutorial description [Behold My Awesome Project!]: Learn to jumpstart a production-ready blog using the Cookiecutter-Django framework and how to deploy it to Heroku author_name [Vicente G. Reyes]: Vicente G. Reyes domain_name [vgreyes.com]: vgreyes.com email [hi@vgreyes.com]: highcenbugtv@vgreyes.com version [0.1.0]: 0.1.0 Select open_source_license: 1 - MIT 2 - BSD 3 - GPLv3 4 - Apache Software License 2.0 5 - Not open source Choose from 1, 2, 3, 4, 5 [1]: 1 timezone [UTC]: UTC windows [n]: n use_pycharm [n]: n use_docker [n]: n Select postgresql_version: 1 - 12.3 2 - 11.8 3 - 10.8 4 - 9.6 5 - 9.5 Choose from 1, 2, 3, 4, 5 [1]: 1 Select js_task_runner: 1 - None 2 - Gulp Choose from 1, 2 [1]: 1 Select cloud_provider: 1 - AWS 2 - GCP 3 - None Choose from 1, 2, 3 [1]: 1 Select mail_service: 1 - Mailgun 2 - Amazon SES 3 - Mailjet 4 - Mandrill 5 - Postmark 6 - Sendgrid 7 - SendinBlue 8 - SparkPost 9 - Other SMTP Choose from 1, 2, 3, 4, 5, 6, 7, 8, 9 [1]: 1 use_async [n]: n use_drf [n]: n custom_bootstrap_compilation [n]: n use_compressor [n]: n use_celery [n]: n use_mailhog [n]: n use_sentry [n]: n use_whitenoise [n]: y use_heroku [n]: y Select ci_tool: 1 - None 2 - Travis 3 - Gitlab Choose from 1, 2, 3 [1]: 1 keep_local_envs_in_vcs [y]: y debug [n]: y [SUCCESS]: Project initialized, keep up the good work!
Теперь измените каталог в Slug Project и попробуйте познакомиться с структурой папки. Мы будем инициализация Git Reppo внутри каталога, совершая наш код и нажав его на GitHub для управления версиями. Мы также создаем другую среду для нашего блога, используя VirtualenV, чтобы выделить зависимости проекта Python Python нашего приложения. Убедитесь, что вы устанавливаете последнюю версию в https://pypi.org/project/virtualenv/ . Я использую Mac, поэтому мои извинения за пользователи Windows, если я не выполняю команды Windows в этом руководстве.
$ cd blog_tutorial/ $ ls $ git init $ git add . $ git commit -m "initial commit" $ git remote add origin https://github.com/reyesvicente/blog_tutorial.git $ git push -u origin master
Теперь, когда мы подтолкнули наш код в GitHub, давайте создадим виртуальную среду, активируйте ее, и установите пакеты по умолчанию, включенные в рамки CookieCutter-Django.
Чтобы установить VirtualenV, откройте наш терминал, затем выполните:
$ python -m pip Установить –user virtualenv
После установки пакета проверьте, установите ли вы правильную версию, запустив:
$ virtualenv –version 0:08:50 Virtualenv 20.0.27 от/users/user/.local/lib/python3.8/site-packages/virtualenv/__init__.py
Теперь создайте виртуальную среду, запустив:
$ virtualenv env # имя виртуальной среды env
Выход:
created virtual environment CPython3.8.2.final.0-64 in 6874ms creator CPython3Posix(dest=/Users/user/blog_tutorial/env, clear=False, global=False) seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=/Users/user/Library/Application Support/virtualenv/seed-app-data/v1.0.1) activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
После создания виртуальной среды давайте активируем виртуальную среду и установите зависимости проекта. Мы также создадим базу данных, используя команду createb, и мы установим переменные среды для нашей базы данных. Убедитесь, что у вас есть его на вашей машине, если нет, вы можете загрузить его через HOMEBROT CACK или перейти на веб-сайт App Postgres и скачать его.
$ source env/bin/activate $ python -m pip install -r requirements/local.txt $ createdb blog_tutorial -U postgres --password$ export DATABASE_URL=postgres://postgres: @127.0.0.1:5432/blog_tutorial
Начиная с написания, пакет VirtualenV находится в версии 20.0.27.
Вам может быть интересно, почему нам нужно установить виртуальную среду и изолировать наши проектные зависимости и установить его по всему миру. Причина в том, что если у вас есть несколько проектов в вашей среде разработки, и вы установили проектные зависимости во всем мире, есть большой шанс, что ваше приложение будет сбиваться. Давайте получим немного больше информации об этом.
Представьте, что у вас есть 2 проекта Django. Один использует Django версию 2.2.14, а другой использует Django 3.0.8. Оба имеют разные проектные зависимости, которые также имеют разные версии в нем.
В таких ситуациях, это хорошая практика для создания отдельной виртуальной среды для двух проектов, поскольку все проекты Django отличаются, используя другие пакеты Python.
Оригинал: “https://dev.to/highcenburg/creating-a-blog-with-cookiecutter-django-deploying-it-to-heroku-creating-the-blog-project-5bmc”