Вывод новых постов в Bootstrap
Мне необходимо выводить посты через форму на одной странице так, чтобы каждый новый пост выводился в определенном месте с определенным классом. У меня есть карусель Бутсрап, в которую и нужно выводить посты. Но делать мне это нужно бесконечно, не добавляя новые теги в бустрапе. Как я могу это сделать
questions-reviews.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/bootstrap_carousel/bootstrap.min.css' %}">
<link rel = "stylesheet" href="{% static 'logistic/css/style.css' %}">
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"></script>
<script>
</script>
</head>
<body>
<div class = "body">
<img src = "{% static 'logistic/image/1900/1900-background.png' %}"/>
</div>
<div class="menu">
<a href="{% url 'home' %}">
<div class="home">Главная</div>
</a>
<a href="{% url 'about_company' %}">
<div class="about-company">О компании</div>
</a>
<a href="{% url 'contacts' %}">
<div class="contacts">Контакты</div>
</a>
<a href="{% url 'questions_reviews' %}">
<div class="questions-reviews">Вопросы - Отзывы</div>
</a>
<a href="{% url 'vacancies' %}">
<div class="vacancies">Вакансии</div>
</a>
</div>
<a href="{% url 'home' %}">
<div id="button_"><img src="{% static 'logistic/image/button_.png' %}" /></div>
<div id="button-text_">Заполните анкету</div>
</a>
<form method="POST" class="post-form">{% csrf_token %}
<div class="add">
{{ form.as_p }}
<div id="add_reviews">Добавить отзыв:</div>
<div id="name">Имя:</div>
<div id="add_questions">Добавить вопрос:</div>
<button type="submit" id="button_add">Добавить</button>
</div>
</form>
<div class="container-xl">
<div class="row">
<div class="col-md-10 mx-auto">
<div id="myCarousel" class="carousel slide" data-ride="carousel" data-interval="0">
<div class="carousel-inner">
{% for item in answers %}
<div class="carousel-item active">
<div class="col-sm-4">
<div class="thumb-wrapper">
<div class="s4">
<div id="window_slide_services"></div>
<div id="header-name-services">{{ item.name }}</div>
<div id="questions">{{ item.questions }}</div>
<div id="description">{{ item.reviews }}</div>
<div id="data">{{ item.date }}</div>
</div>
</div>
</div>
<div class="col-sm-4">
<div class="thumb-wrapper">
<div class="s4">
<div class="slide-contacts_2">
</div>
</div>
</div>
</div>
<div class="col-sm-4">
<div class="thumb-wrapper">
<div class="s4">
<div class="slide-contacts_3">
</div>
</div>
</div>
</div>
<div class="col-sm-4">
<div class="thumb-wrapper">
<div class="s4">
<div class="slide-qa_4">
</div>
</div>
</div>
</div>
</div>
<div class="carousel-item">
</div>
{% endfor %}
</div>
<div class="control-qa">
<a class="carousel-control-prev" id="button-right_question_answer" href="#myCarousel" data-slide="prev">
</a>
<a class="carousel-control-next" id="button-left_question_answer" href="#myCarousel" data-slide="next">
</a>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
views.py
# from django.shortcuts import render
from django.shortcuts import render, redirect
from .forms import AnketaForm
from .forms import RegistrationForm
# Это наша форма, которую мы определим в forms.py
# from .forms import AuthenticationForm
# Это наша форма, которую мы определим в forms.py
# from .forms import AuthenticationForm
from .models import Personal
# Это наша форма, которую мы определим в forms.py
from .forms import AuthenticationForm
from .forms import AnswerPersonalForm
from .models import AnswerPersonal
# 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):
answers = AnswerPersonal.objects.all()
if request.method == "POST":
form = AnswerPersonalForm(request.POST)
if form.is_valid():
answer = form.save(commit=False)
answer.save()
return render(request, 'logistic/questions-reviews.html', {'form': form, 'answers': answers})
else:
form = AnswerPersonalForm()
return render(request, 'logistic/questions-reviews.html', {'form': form, 'answers': answers})
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 regist(request):
msg ='Заполните все поля данных'
if request.method == "POST":
form = RegistrationForm(request.POST)
if form.is_valid():
Personal = form.save(commit=False)
Personal.save()
msg = 'Ваши данные добавлены!'
return redirect('authoriz')
else:
form = RegistrationForm()
return render(request, 'logistic/index-registration.html', {'form': form, 'message': msg,})
def entrance(request):
msg ='Заполните все поля данных'
if request.method == "POST":
form = AnketaForm(request.POST)
if form.is_valid():
anketa = form.save(commit=False)
anketa.save()
msg = 'Ваши данные добавлены!'
return render(request, 'logistic/entrance.html', {'form': form, 'message': msg, })
else:
form = AnketaForm()
return render(request, 'logistic/entrance.html', {'form': form, 'message': msg,})
def authoriz(request):
if request.POST:
form = AuthenticationForm(request.POST)
if form.is_valid():
user = request.POST.get("username")
pas = request.POST.get("password")
users = Personal.objects.filter(username=user, password=pas)
print(user)
print(pas)
if users.exists():
return redirect('entrance')
# переходим на сайт, а надо сравнить с данными БД
return render(request, 'logistic/index-authorization.html', {'form': form, 'msg' : 'Этого пользователя нет в базе!'})
else:
form = AuthenticationForm()
return render(request, 'logistic/index-authorization.html', {'form': form, 'msg' : 'Заполните поля и нажмите кнопку!'})