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

O makemigrations O comando cria um novo arquivo de migração se alguma alteração do esquema for detectada. (Estes são encontrados em quoteapp/migrationsmas você normalmente não precisará interagir diretamente com eles.) O migrate O comando aplica as alterações.

Construindo a vista

Em seguida, vamos considerar a visão, que aceita uma solicitação e prepara o modelo (se necessário), e a entrega para ser renderizada como uma resposta. Vamos precisar apenas de uma visão, encontrada em quoteapp/views.py:


// cat quoteapp/views.py 
from django.shortcuts import render
from django.template.loader import render_to_string
from django.http import HttpResponse
from .models import Quote

def index(request):
    if request.method == 'POST':
        text = request.POST.get('text')
        author = request.POST.get('author')
        if text and author:
            new_quote = Quote.objects.create(text=text, author=author)
            # Render the new quote HTML
            html = render_to_string('quoteapp/quote_item.html', {'quote': new_quote})
            return HttpResponse(html)
    quotes = Quote.objects.all()
    return render(request, 'quoteapp/index.html', {'quotes': quotes})

Nesta visão, importamos o modelo de cotação e o usamos para criar uma resposta no index função. O request O argumento nos dá acesso a todas as informações necessárias do cliente. Se o método for POSTmontamos um novo Quote objeto e uso Quote.objects.create() para inseri -lo no banco de dados. Como resposta, enviamos de volta apenas a marcação para a nova citação, porque o HTMX a inserirá na lista no front end.