Не появляются поля form в python django
Никак не появляются поля input на моем сайте. Подключала через forms. Вот код
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={
'id': 'window_question_1',
}),
"q2": TextInput(attrs={
'id': 'window_question_2',
}),
"q3": TextInput(attrs={
'id': 'window_question_3',
}),
"q4": TextInput(attrs={
'id': 'window_question_4',
}),
"q5": TextInput(attrs={
'id': 'window_question_5',
}),
"q6": TextInput(attrs={
'id': 'window_question_6',
}),
"q7": TextInput(attrs={
'id': 'window_question_7',
}),
"q8": TextInput(attrs={
'id': 'window_question_8',
}),
"q9": TextInput(attrs={
'id': 'window_question_9',
}),
}
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 create(request):
form = AnketaForm()
data = {
'form': form
}
return render(request, 'logistic/index.html', data)
# def about(request):
# return render(request, 'boar/about.html')
# def news(request):
# return render(request, 'boar/news.html')
# def stock(request):
# return render(request, 'boar/stock.html')
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" content="width=device-width, initial-scale=1.0">
<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/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="services.html">
<div id="I_am_looking_for_an_employee">Я ищу работу</div>
</a>
<a href="#">
<div id="I_am_looking_for_an_employee_">Я ищу сотрудника</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 method="POST">
{% csrf_token %}
<div id="answer_the_questions">Заполните форму</div>
<div id="question_1">1. ФИО</div>
{{ form.q1 }}
<div id="question_2">2. Сколько вам лет?</div>
{{ form.q2 }}
<div id="question_3">3. У вас есть машина?</div>
{{ form.q3 }}
<div id="question_4">4. Опыт вождения?</div>
{{ form.q4 }}
<div id="question_5">5. Работали в логист. компании?</div>
{{ form.q5 }}
<div id="question_6">6.Опыт работы?</div>
{{ form.q6 }}
<div id="question_7">7. Готовы к вахте?</div>
{{ form.q7 }}
<div id="question_8">8. Контактный номер</div>
{{ form.q8 }}
<div id="question_9">9. Знание транспортной документации</div>
{{ form.q9 }}
<input type="submit" class="button-anketa" value = "Отправить"></input>
</form>
<div id="text">*Если не можете или затрудняетесь ответить на вопрос, ставьте -</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
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 = "Анкеты"
urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='home'),
path('create', views.create, name='create')
# path('about', views.about, name='about'),
# path('news', views.news, name='news'),
# path('stock', views.stock, name='stock')
]
Источник: Stack Overflow на русском