$ 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/migrations
mas 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 POST
montamos 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.