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

Ultimate Django ссылка (команды, развертывание, REST API)

Основные команды запускают новый проект django-admin startproject запустить … с меткой Django, Python.

Основные команды

Начать новый проект django-admin startproject

Начните новое приложение в своем проекте django-admin startapp

Запустить сервер разработки Python Manage.py Runserver

Сделайте миграционные файлы для неизменных изменений ` Python Manage.py Makemigrations

Запустить миграции Python Manage.py Migrate

Запустить сервер разработки Python Manage.py Runserver

Создать суперпользователь для панели администратора Python Manage.py CreateSuperuser -email admin@example.com -usermanme admin

Настройка базы данных для Postgres

Нужен PsychoPG2, установлен для использования Postgres

PIP установить psycopg2

Примечание. Возможно, вам потребуется установить следующее для Psycopg2, чтобы установить правильную, Google их установку, не нужная для Windows sudo “python3-dev” “libpq-dev”

Конфигурация базы данных в настройках.py

`python

Базы данных = {

'default': {

    'ENGINE': 'django.db.backends.postgresql_psycopg2',

    'NAME': 'test',

    'USER': 'test',

    'PASSWORD': 'test',

    'HOST': 'localhost',

    'PORT': '5432',

}

}

`

Использование файла .env с django

Установите Django-environ

PIP установить Django-environ

Добавьте следующее в свой настройки.

`Environ

эн. Env ()

среда Env.read_env () `

Документы: https://github.com/joke2k/django-environ

Использование переменных ENV в вашем коде

env (“env_variable”)

env (“env_variable”,)

Развертывание в Хероку

Шаг 1 – Настройте настройки базы данных

`Python Databases = {

'default': env.db()

}

`

*Если вы хотите использовать локальную базу данных, добавьте переменную env, database_url с использованием шаблона строки DB ниже

Postgres://yourusername: yourpassword@yourhost: 5432/yourdatabase

Должен выглядеть так в твоем .env

Database_url = Postgres://test: test@localhost: 5432/test

Установите свой Gitignore

Включите это в свой .gitignore в свой корневой каталог, это было сгенерировано с использованием сайта gitignore.io, веб -сайта для создания общих записей Gitignore.

`

Джанго

*.журнал *.горшок *.pyc Pycache / local_settings.py db.sqlite3 db.sqlite3-Journal СМИ

Джанго. Стек Python

*.py [cod] *$ py.class

*.так

.Python build/develop-eggs/dist/doads/.eggs/lib/lib64/parts/sdist/var/whiels/pip-wiele-metadata/share/python-weels/*.egg-info/.installed.cfg *.яйцо Манифест

*.manifest *.pec

pip-log.txt pip-delete-this-directory.txt

htmlcov/.tox/.nox/.coverage .coverage. * .cache nosetests.xml coverge.xml *.cover *.py, cover .hypotheses/.pytest_cache/pytestdebug.log

*.mo

экземпляр/.webassets-cache

.scrapy

docs/_build/doc/_build/

цель/

.IPYNB_CHECKPOINTS

profile_default/ipython_config.py

.python-версия

Pypackages /

сельдерис-сценул Celerybeat.pid

*.sage.py

.env .venv env/venv/env/env.bak/venv.bak/

.spyderProject .spyProject

.ropeproject

/сайт

.mypy_cache/.dmypy.json dmypy.json

.pyre/

.pytype/

`

Одушечный рог и прокат

Нам нужен стрелков для запуска нашего сервера приложений, так что

`pip установить стрелобник

Создайте файл с именем «Procfile» в корне проекта со следующим.

`web: проект надзора.

*Проект должен быть заменен именем ваших проектов (имя папки, в которой находится настройки.

Скачать Django-Heroku

Установите Django-Heroku PIP Установите Django-Heroku

Добавьте следующее в верхней части ваших настроек.py Импорт django_heroku

Добавьте следующее внизу ваших настроек. django_heroku.settings (местные жители ())

*Что это сделает, так это автоматически настроить ваш проект для Heroku, когда вы его развернете

Подтолкнуть к GitHub

Создайте новый репозиторий GitHub и нажмите к GitHub. Корень вашего репозитория должен быть папкой с Manage.py внутри него.

Создайте новый проект Heroku

  • Создайте новый проект Heroku

  • Перейдите на вкладку «Ресурсы» и предоставьте новую бесплатную базу данных Postgres

  • Перейдите на вкладку «Развертывание» и подключите репозиторий GitHub к Heroku

  • Включить автоматические развертывания

  • Сделайте первоначальное развертывание, нажимая кнопку ручного развертывания

  • Не забудьте запустить Makemigrations и мигрировать (легко сделать в heroku Run Bash )

Django Rest Framework ссылка

Установить

PIP установить djangorestframework

Затем добавьте следующее в свой массив установленных приложений.

‘rest_framework’,

Также убедитесь, что ваше приложение также установлено

Сделать модель

В новом приложении создайте новую модель в модели.py Анкет Ссылка на поле модели => https://docs.djangoproject.com/en/3.1/ref/models/fields/#model-field-types

`Python из моделей импорта django.db

классная собака (модели. Модель):

name = models.CharField(max_length=100)
age = models.IntegerField()

class Meta:
    verbose_name_plural = 'dogs'

`

Модели настройки и сериализаторы в вашем приложении

В папке вашего приложения создайте serializers.py со следующим.

`Python From .models Import Dog из Rest_framework Importizers Serializers

класс Dogserializer (сериализаторы. HyperlinkedModelserializer): Meta класс: Fields = [‘name’, ‘Age’] `

Создайте представления для вашего API

В ваших приложениях views.py Создайте следующее

`Python From .models Import Dog из Rest_framework Import Viewsets из разрешений на импорт REST_FRAMEWOR

Класс Dogviewset (Speedsets. ModelViewSet): “” “Конечная точка API, которая позволяет пользователям просматривать или отредактировать. “”. [разрешения. Разрешить] #coule быть [разрешения. Isauthenticated] `Для получения подробной информации о различных наборах разрешений:

URL -адреса установки

Теперь настроить URL -адреса для нашего API в urls.py в папке, которая удерживает наши настройки.

`Python From Django.contrib Imporm Admin Admine из пути импорта django.urls от Rest_framework Import Routers из Project1.api Import Views

маршрутизатор. Defaultrouter () router.register (r’dogs ‘, views.dogviewset)

urlpatterns = [ PATH (”, Incult (Router.urls)), path (‘api-auth/’, include (‘rest_framework.urls’,)), path (‘admin/’, admin.site.urls), ] ` Для получения дополнительной информации о том, как работает маршрутизатор , https://www.django-rest-framework.org/api-guide/routers/

Заканчивать

  • Сделать миграцию
  • мигрировать
  • тест

Оригинал: “https://dev.to/alexmercedcoder/ultimate-django-reference-commands-deployment-rest-api-ihe”