Я новичок в django, и я пытаюсь заставить ChoiceField работать для входа пользователя.Я пробовал две итерации html, но ни одна из них не отображала раскрывающуюся форму.
см. Мой код ниже для моделей, форм, html
models.py
from django.db import models
from django.contrib.auth.models import User
class Post(models.Model):
CATEGORIES=(
('COM', 'Combat'),
('CRA', 'Crafting'),
('WAR', 'Warfare'),
)
post= models.CharField(max_length=500)
post2= models.CharField(max_length=500)
category=models.CharField(max_length=3, choices=CATEGORIES)
user = models.ForeignKey(User, on_delete=models.CASCADE)
forms.py
class HomeForm(forms.ModelForm):
post = forms.CharField()
post2 = forms.CharField()
category = forms.ChoiceField(choices=Post.CATEGORIES)
class Meta:
model = Post
fields = ('post','post2','category',)
html
<form method="post">
{% csrf_token %}
{{form.as_p}} or {{form}}
<input type="submit" value="Submit">
</form>
views.py
Класс HomeView (TemplateView): template_name = 'fitness / name.html'
def get(self, request):
form = HomeForm()
return render(request, self.template_name, {'form':form})
def post(self, request):
form = HomeForm(request.POST)
if form.is_valid():
form.save()
text = form.cleaned_data['post']
form = HomeForm()
return redirect('home:home')
args = {'form': form, 'text': text}
return render(request, self.template_name, args)