#javascript #python #django
#javascript #python #django
Вопрос:
Цель: при отправке формы django данные должны быть отправлены и сохранены на стороне администратора.
проблема: я могу перенаправить ее на другую страницу после отправки формы, но когда я перехожу на сторону администратора, данные не сохраняются. как я могу это исправить? используя django или javascript?
HTML:
<form method="post" >
{% csrf_token %}
{{form.as_p}}
<input class="btn" type="submit" value="Log In">
</form>
models.py:
from django.db import models
from django import forms
class Customer(models.Model):
first_name = models.CharField(max_length=200, verbose_name='')
last_name = models.CharField(
max_length=200, verbose_name='')
def __str__(self):
return self.first_name ', ' self.last_name
forms.py:
from django.forms import ModelForm
from django import forms
from .models import Customer
class CustomerForm(ModelForm):
class Meta:
model = Customer
fields = '__all__'
views.py:
from django.shortcuts import render
from .forms import CustomerForm
def index(request):
form = CustomerForm()
if request.method == 'POST':
form = CustomerForm(request.POST)
if form.is_valid():
form.save()
context = {'form': form}
return render(request, 'app/index.html', context)
Ash вот что это дает мне:
если вам нужны какие-либо другие файлы, просто спросите
Ответ №1:
После написания form.save() вы можете сказать:
вернуть перенаправление (ссылка для перенаправления на)
Это перенаправит вас в выбранное место после проверки и сохранения формы.
Комментарии:
1. я добавил к сообщению изображение кода и ошибки, которые он возвращает, когда я это делаю
2. попробуйте ввести это точно, верните redirect (‘ google.com /’ )
3. когда я попробовал, мне сказали, что перенаправление не определено
4. Обязательно введите из django.shortcuts импорт перенаправления вверху страницы
Ответ №2:
Добавьте одну строку после сохранения вашей формы
# put link inside -> " "
return redirect("Link")
Комментарии:
1. спасибо, но я сделал это, и я получил ошибку, я добавил изображение того, что я получаю в сообщении
2. это выдает ошибку, в которой говорится, что имя «перенаправление» не определено
3. импортировать этот пакет -> из django.shortcuts импортировать перенаправление
Ответ №3:
Измените html как метод =»POST»
if request.method == 'POST':
form = CustomerForm(request.POST)
if form.is_valid():
form.save()
return redirect('urlname')
else:
form = CustomerForm()
context = {'form': form}
return render(request, 'app/index.html', context)