Рубрики
Без рубрики

Создание проекта блога

Поскольку это не учебник, ориентированный на каркас CookieCutter-Django, я не буду слишком много … Теги с Джанго, начинающим, Python, учебником.

Поскольку это не учебник, ориентированный на каркас 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”