Исчезают поля input в python django после подключения к бд
Когда я захожу на страницу поля ibput куда то исчезают. После того как я нажимаю на кнопку submit, страница обнавляется и поля появляются. В чем может быть дело.
index.html
<!DOCTYPE html>
{% load static %}
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" id="viewport" content="width=device-width, initial-scale=1">
<title>{% block title %}Главная{% endblock %}</title>
<link rel = "stylesheet" href="{% static 'logistic/css/style.css' %}">
<link rel = "stylesheet" href="{% static 'logistic/css/bootstrap.min.css' %}">
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"></script>
</head>
<body>
<div class = "body">
<img src = "{% static 'logistic/image/1900/1900-background.png' %}"/>
</div>
<a href="#">
<div id="ikon-facebook"><img src = "{% static 'logistic/image/ikon-facebook.png' %}"/></div>
</a>
<a href="#">
<div id="ikon-twitter"><img src = "{% static 'logistic/image/ikon-twitter.png' %}"/></div>
</a>
<a href="#">
<div id="ikon-vk"><img src = "{% static 'logistic/image/ikon-vk.png' %}"/></div>
</a>
<a href="#">
<div id="ikon-instagram"><img src = "{% static 'logistic/image/ikon-instagram.png' %}"/></div>
</a>
<div id="header">У тебя есть грузовая машина? Значит у нас есть для тебя работа</div>
<div id="inscription_fill_in_the_form">Заполните анкету и мы свяжемся с вами</div>
<a href="{% url 'about_company' %}">
<div id="I_am_looking_for_an_employee">Я ищу работу</div>
</a>
<a href="{% url 'services' %}">
<div id="I_am_looking_for_an_employee_">Я ищу сотрудника</div>
</a>
<div id = "circle_registration"></div>
<a href="{% url 'registration' %}">
<div id="registration">Регистрация</div>
</a>
<div id = "circle_authorization"></div>
<a href="{% url 'authorization' %}">
<div id="authorization">Авторизация</div>
</a>
<div id="reference_number">Номер для справки</div>
<div id="number">+8(000) 000-00-00</div>
<div id="working_time">Рабочее время: пн-чт с 8:30 до 16:00 пт с 8:30 до 15:00 Мск</div>
<div class="container content">
<div class="row align-items-center content">
<div class="col-12 text-center">
<div id="background-button" data-toggle="modal" data-target="#exampleModalCenter">
<img src = "{% static 'logistic/image/background-button.png' %}"/>
<div id="button-text">Заполните резюме</div>
</div>
</div>
</div>
</div>
<!-- Modal -->
<div class="modal fade" id="exampleModalCenter" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content rounded-0">
<div class="modal-body p-4 px-5">
<div class="main-content text-center">
<div class="window-anketa">
<div id="window"></div>
<div id="picture_anketa"><img src="{% static 'logistic/image/backgrouns-anketa.png' %}" /></div>
<form action="{% url 'new_anketa' %}" method="POST">
{% csrf_token %}
{{form.as_p}}
<div id="answer_the_questions">Заполните форму</div>
<div id="question_1">1. ФИО</div>
<div id="question_2">2. Сколько вам лет?</div>
<div id="question_3">3. У вас есть машина?</div>
<div id="question_4">4. Опыт вождения?</div>
<div id="question_5">5. Работали в логист. компании?</div>
<div id="question_6">6.Опыт работы?</div>
<div id="question_7">7. Готовы к вахте?</div>
<div id="question_8">8. Контактный номер</div>
<div id="question_9">9. Знание транспортной документации</div>
<input type="submit" class="button-anketa" value = "Отправить"></input>
</form>
<div id="text">*Если не можете или затрудняетесь ответить на вопрос, ставьте -</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
views/py
# from django.shortcuts import render
from django.shortcuts import render
from .forms import AnketaForm
# Create your views here.
def index(request):
return render(request, 'logistic/index.html')
def about_company(request):
return render(request, 'logistic/about_company.html')
def contacts(request):
return render(request, 'logistic/contacts.html')
def questions_reviews(request):
return render(request, 'logistic/questions-reviews.html')
def vacancies(request):
return render(request, 'logistic/vacancies.html')
def services(request):
return render(request, 'logistic/services.html')
def contacts_worker(request):
return render(request, 'logistic/contacts_worker.html')
def registration(request):
return render(request, 'logistic/index-registration.html')
def authorization(request):
return render(request, 'logistic/index-authorization.html')
def new_anketa(request):
if request.method == "POST":
form = AnketaForm(request.POST)
if form.is_valid():
anketa = form.save(commit=False)
anketa.save()
return render(request,'logistic/index.html',{'form':form,})
else:
form = AnketaForm()
return render(request,'logistic/index.html',{'form':form,})
urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='home'),
path('about_company', views.about_company, name='about_company'),
path('contacts', views.contacts, name='contacts'),
path('questions_reviews', views.questions_reviews, name='questions_reviews'),
path('vacancies', views.vacancies, name='vacancies'),
path('services', views.services, name='services'),
path('contacts_worker', views.contacts_worker, name='contacts_worker'),
path('registration', views.registration, name='registration'),
path('authorization', views.authorization, name='authorization'),
path('new_anketa', views.new_anketa, name='new_anketa'),
]
forms.py
from .models import Anketa
from django.forms import ModelForm, TextInput
class AnketaForm(ModelForm):
class Meta:
model = Anketa
fields = ['q1', 'q2', 'q3', 'q4', 'q5', 'q6', 'q7', 'q8', 'q9']
widgets = {
"q1": TextInput(attrs={
'class': 'window_question_1',
}),
"q2": TextInput(attrs={
'class': 'window_question_2',
}),
"q3": TextInput(attrs={
'class': 'window_question_3',
}),
"q4": TextInput(attrs={
'class': 'window_question_4',
}),
"q5": TextInput(attrs={
'class': 'window_question_5',
}),
"q6": TextInput(attrs={
'class': 'window_question_6',
}),
"q7": TextInput(attrs={
'class': 'window_question_7',
}),
"q8": TextInput(attrs={
'class': 'window_question_8',
}),
"q9": TextInput(attrs={
'class': 'window_question_9',
}),
}
models.py
from django.db import models
# Create your models here.
class Anketa(models.Model):
q1 = models.TextField('Первый вопрос', max_length=123)
q2 = models.TextField('Второй вопрос', max_length=123)
q3 = models.TextField('Третий вопрос', max_length=123)
q4 = models.TextField('Четвертый вопрос', max_length=123)
q5 = models.TextField('Пятый вопрос', max_length=123)
q6 = models.TextField('Шестой вопрос', max_length=123)
q7 = models.TextField('Седьмой вопрос', max_length=123)
q8 = models.TextField('Восьмой вопрос', max_length=123)
q9 = models.TextField('Девятый вопрос', max_length=123)
class Meta:
verbose_name = 'Анкета'
verbose_name_plural = "Анкеты"
Источник: Stack Overflow на русском