Не отображаются формы Django на странице

192
02 февраля 2020, 22:40

Уже долго вожусь с данной проблемой, нигде не смог найти решение. чувствую, что ответ на поверхности, надеюсь тут помогут... Собственно проблема в том, что не могу передать form в html, он её просто не видет. Вот файл views.py:

from django.shortcuts import render, redirect
from django.contrib import messages
from .forms import ContactForm
def main_page_en(request):
    return render(request, 'portfolio/main_page_en.html')
def main_page_rus(request):
    return render(request, 'portfolio/main_page_rus.html')
def my_works(request):
    return render(request, 'portfolio/works.html')
def contact_us(request):
    return render(request, 'portfolio/contact_us.html')


def contact_form(request):
    if request.method == 'POST':
        form = ContactForm(request.POST)
        if form.is_valid():
            form.save()
            username = contact_form.cleaned_data.get('name')
            messages.success(request, f'Спасибо, {name}! Я свяжусь с Вами в ближайшее время')
            return redirect('main-page-rus')
    else:
        form = ContactForm()
    template_name = 'portfolio/contact_us.html'
    context = {'form': form}
    return render(request, template_name, context)

Вот models.py:

from django.db import models
from django.forms import ModelForm

class Contact(models.Model):
    name = models.CharField(max_length=120)
    email = models.EmailField()
    content = models.CharField(max_length=255)
    price = models.FloatField()
    phonenumber = models.CharField(max_length=12)
    def __str__(self):
        return self.name
class ContactForm(ModelForm):
    class Meta:
        model = Contact
        fields = ['name', 'email', 'content', 'price', 'phonenumber'] 

Вот forms.py:

from django import forms
from .models import Contact
class ContactForm(forms.ModelForm):
    class Meta:
        model = Contact
        fields = ['name', 'email', 'content', 'phonenumber', 'price']

Сам HTML:

{% extends 'portfolio/base.html'%}
{% load static %}
{% load crispy_forms_tags %}

{% block content %}
<form method="POST" action=".">
    {{ form|crispy }}
</form>
{% endblock %}

urls.py:

from django.urls import path
from .import views
urlpatterns = [
    path('', views.main_page_rus, name = 'main-page-rus'),
    path('en', views.main_page_en, name = 'main-page-en'),
    path('works', views.my_works, name = 'my-works'),
    path('contact', views.contact_us, name = 'contact-us'),
]

Помогите новичку, скорее всего слона то и не вижу. Спасибо!

P.S. Если укажете и на другие ошибки, то буду очень признателен.

READ ALSO
Как отключить поддержку .webp в Хроме?

Как отключить поддержку .webp в Хроме?

Как можно отключить поддержкуwebp формата изображения, дабы Хром не предлагал мне скачать изображение в этом расширении вместо привычного

186
Как пользоваться less в css?

Как пользоваться less в css?

То есть допустим я написал код на lessТеперь чтобы сайт работал не только локально, но и на сервере, мне нужно его откомпилировать в css

248