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

Создание простого TODO API с Django

В этом руководстве мы создадим простой TODO API с Python 3 и Django 2. … Теги с Python, начинающими, Django, учебником.

В этом руководстве мы создадим простой TODO API с Python 3 и Django 2.

Установка требований

Создайте виртуальную среду и установите Django.

$ virtualenv venv # creates a virtual environment
$ source venv/bin/activate # activates the virtual environment
(venv)$ pip install Django

Это все, что нам нужно сейчас.

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

Используйте Django startproject Команда для создания проекта мы будем работать.

$ django-admin startproject todoapi

Это создает Тодапи каталог с созданными файлами, чтобы начать нас. Каталог должен выглядеть что-то подобное:

manage.py
todoapi/
    __init__.py
    settings.py
    urls.py
    wsgi.py

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

Чтобы сохранить вещи простыми, мы будем использовать базу данных SQLite, поэтому нам не нужно ничего устанавливать, поскольку она поставляется с Python. Кроме того, это уже настроен для нас в todoapi/settings.py Отказ Посмотрите на код, и вы должны увидеть что-то похожее на это:

# Database
# https://docs.djangoproject.com/en/2.1/ref/settings/#databases

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

Создание моделей

Для создания моделей для нашей базы данных нам сначала необходимо создать TODOS «Приложение». Это где мы реализуем наши особенности.

$ python manage.py startapp todos

Это создаст Тодос каталог со следующими файлами:

migrations/
    __init__.py
__init__.py
admin.py
apps.py
models.py
tests.py
views.py

Это приложение должно быть добавлено к todoapi/settings.py :

INSTALLED_APPS = [
    ...,
    'todos'
]

Хорошо, теперь, когда Джанго знает о нашем приложении, открыть Models.py Файл для добавления моделей. Мы создадим только одну модель под названием Todo :

from django.db import models


# Create your models here.
class Todo(models.Model):
    todo = models.CharField(max_length=100, null=False,
                            help_text="This field is required")
    done = models.BooleanField(default=False)

Эта модель создаст таблицу для нас с Todo и сделано столбцы, чтобы сохранить наши данные. Todo Столбец сохранит фактическое Todo, а сделано Столбец сохранит статус – сделает ли это или нет. Обратите внимание, что это Booleanfield , что означает, что мы сохраним Правда когда закончится или Ложь когда не сделано, что по умолчанию.

Теперь все, что нам нужно сделать, это запустить Макемиграция Уведомить Джангу наших моделей, и мигрировать сделать фактическую миграцию.

$ python manage.py makemigrations todos
$ python manage.py migrate

Создание конечных точек

У нас будет два конечных точка сейчас:

  • /Тодос к Получить Список всех наших Тодос
  • /TODOS/ к Получить соответствие тоду ID.

Чтобы проверить это, мы создадим два простых представления в TODOS/View.py файл.

from django.http import JsonResponse
from django.shortcuts import get_object_or_404

from .models import Todo

# Create your views here.
def todos(request):
    todos_list = Todo.objects.all()
    data = {
        "todos": list(todos_list.values(
            "todo", "done"
        ))
    }
    return JsonResponse(data)

def single_todo(request, pk):
    todo = get_object_or_404(Todo, pk=pk)
    data = {
        "todo": todo.todo,
        "done": todo.done
    }
    return JsonResponse(data)

Создайте новый файл под названием URLS.PY В вашем Тодос Приложение и добавить следующий код:

# todos/urls.py
from django.urls import path

from .views import todos, single_todo

urlpatterns = [
    path("todos/", todos, name="todos"),
    path("todos/", single_todo, name="single_todo")
]

Перейти к todoapi/urls.py И включите URL-адрес TODOS, который вы только что создали:

# todoapi/urls.py
from django.contrib import admin
from django.urls import path, include  # add include here

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('todos.urls'))  # add this
]

Настройте свой администратор и проверьте конечные точки

Создать суперпользователь:

$ python manage.py createsuperuser

Далее зарегистрируйте свои модели в /todos/admin.py Файл, чтобы вы могли получить доступ к ним из приборной панели администратора:

from django.contrib import admin
from .models import Todo

# Register your models here.
admin.site.register(Todo)

Вот и все! Теперь запустите сервер и перейдите в http://127.0.0.1:8000/admin. . Войдите в систему с деталями, которые вы зарегистрированы для суперпользователя, чтобы добавить свои TODOS.

Вы можете получить TODOS, созданные через клиент покоя через конечные точки

  • http://127.0.0.1:8000/todos
  • http://127.0.0.1:8000/todos/

Оригинал: “https://dev.to/wangonya/creating-a-simple-todo-api-with-django-2i1c”