Уже долго вожусь с данной проблемой, нигде не смог найти решение. чувствую, что ответ на поверхности, надеюсь тут помогут... Собственно проблема в том, что не могу передать 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. Если укажете и на другие ошибки, то буду очень признателен.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Как можно отключить поддержкуwebp формата изображения, дабы Хром не предлагал мне скачать изображение в этом расширении вместо привычного
То есть допустим я написал код на lessТеперь чтобы сайт работал не только локально, но и на сервере, мне нужно его откомпилировать в css