Django ModelForm в шаблоне - PullRequest
       11

Django ModelForm в шаблоне

0 голосов
/ 08 февраля 2020

У меня есть вопрос. Я новичок в Django и изучаю его с 3 недель. Мне нужно разработать всплывающее окно Cook ie с optin для проекта в университете. Мой вопрос Я развиваю это в Django python. В бэкэнде у меня есть сервисы, которые собирают всю информацию о Cook ie и передают ее в модель Cook ie. Теперь у меня есть модель Cook ie, и мне нужно передать ее как контекст в представлении. На данный момент я вижу все куки, которые сервисы собирают в браузере. Но мне нужно проверить, является ли тип Esential или Marketing и отделить это в свертке в шаблоне. Как я могу это сделать? Моя идея состоит в том, чтобы проверить это в шаблоне с этой строкой

 {% if cookie.typ == 'Essenziell' %}

, и если это тип Essenziell, я покажу это в свертке.

View.py

def optin(request):
if request.method == 'POST':
    form = CookieForm(request.POST)
    if form.is_valid():
        return HttpResponseRedirect
else:

    form = CookieForm
    cookie_list = Cookie.objects.all()

    context_dict = {'form': form, 'cookie_list': cookie_list}
    template = 'cookies/cookie.html'

return render(request, template,
    context_dict
              )

Это часть шаблона

<button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#Marketing" aria-expanded="false" aria-controls="Marketing">
        Marketing
        </button>


        <div class="collapse" id="Essenziell">
        <div class="card card-body">
            {% for cookie in cookie_list  %}
                {% if cookie.typ == 'Essenziell' %}
                    <p>{{ cookie.cookie }}</p>
                    <p>{{ cookie.provider }}</p>
                    <p>{{ cookie.description }}</p>
                    <p>{{ cookie.typ }}</p>
                    <p>{{ cookie.runTime }}</p>
                {% endif %}
            {% endfor %}
        </div>
        </div>

Model.py

class Cookie(models.Model):
"""
:cookie: The defined name of the Cookie
:provider: Who will set this Cookie ex. Google, Matomo, Shopprovider
:description: The description of the seted Cookie
:cookieRuntime: The lifetime of the Cookie
:typ: Type of the Cookie
"""


cookie = models.CharField(max_length=50)
provider = models.CharField(max_length=100)
description = models.CharField(max_length=300)
typ = models.ForeignKey(Typ)

form.py

class CookieForm(forms.ModelForm):
class Meta:
    model = Cookie
    field = {
        'cookie',
        'provider',
        'description',
        'typ',         
    }

Ответы [ 2 ]

0 голосов
/ 09 февраля 2020

Зачем мне нужен Сериализатор? Я не знаю причину, почему я должен использовать это.

0 голосов
/ 08 февраля 2020

Вы должны использовать Serializers для проверки и прочее. Читать это:

https://www.django-rest-framework.org/topics/html-and-forms/

...