На страницу не выводится информация о создаваемых links в админке. Django
На страницу надо выводить форму обратной связи и контактные данные (links) создаваемые в админке. Создал модели:
from django.db import models
class ContactModel(models.Model):
# Класс модели обратной связи
name = models.CharField(max_length=50)
email = models.EmailField()
website = models.URLField()
message = models.TextField(max_length=5000)
create_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return f'{self.name} - {self.email}'
class ContactLink(models.Model):
# Класс модели контактов
icon = models.FileField(upload_to='icons/')
name = models.CharField(max_length=200)
def __str__(self):
return self.name
Подключил в админку:
from django.contrib import admin
from .models import ContactModel, ContactLink
@admin.register(ContactModel)
class ContactModelAdmin(admin.ModelAdmin):
list_display = ['id', 'name', 'email', 'create_at']
list_display_links = ('name',)
admin.site.register(ContactLink)
Все корректно работает, в админке можно создавать контактные данные.
Ниже views.py
:
from django.shortcuts import render
from django.views import View
from .models import ContactLink
class ContactView(View):
def get(self, request):
contacts = ContactLink.objects.all()
form = ContactForm()
return render(request, 'contact/contact.html', {'contact': contacts, 'form': form})
urls.py
:
from django.urls import path
from . import views
urlpatterns = [
path('contact/', views.ContactView.as_view(), name='contact'),
path('feedback/', views.CreateContact.as_view(), name='feedback'),
]
Пробегаюсь циклом for
по коду для возврата контактных данных из админки:
#Контактные данные
<div class="contact__widget">
<ul>
{% for contact in contacts %}
<li>
<img class="contact_icon" src="{{ contact.icon.url }}">
<span>{{ contact.name }}</span>
</li>
{% endfor %}
</ul>
</div>
#Форма обратной связи
<form action="{% url 'feedback' %}" method="post">
{{ form }}
<button type="submit" class="site-btn">Отправить</button>
</form>
Если форма Обратной связи отрабатывает нормально, то контактные данные вообще не выводятся на страницу...