Я работаю над проектом, в котором пользователь может разместить сообщение, но при заполнении формы пользователь должен ответить на 2 вопроса: «что вы ищете» и «из какой категории это сообщение»; количество ответов ограничено, и в зависимости от ответов на вопросы сообщение пользователя должно быть отфильтровано и размещено в выбранной категории вопроса «из какой категории это сообщение», и, наконец, пользователь должен быть перенаправлен в выбранную категорию на вопрос "что вы ищете". В настоящее время мой код может просто загружать сообщения, но я не знаю, как будет выглядеть процесс фильтрации в файле views.py, потому что я вроде новичок от ie до django, поэтому, пожалуйста, любая идея по этому процессу фильтрации поможет;)
models.py
CATEGORY_CHOICES = ( #I think this choices can help for the filter
('action', 'action'),
('sports', 'sports'),
)
class Mates(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='usermates', unique=True)
categories = models.CharField(choices=CATEGORY_CHOICES, default="choose...", max_length=10) #I also think this field will help.
req_bio = models.CharField(max_length=400)
req_image = models.ImageField(upload_to='requestmates_pics', null=True, blank=True, default=False)
views.py
def matesmain(request):
contents = Mates.objects.all()
context = {
'contents': contents,
'form_mates': MatesForm(),
}
print("nice3")
return render(request, 'mates.html', context)
def mates(request):
if request.method == 'POST':
form_mates = MatesForm(request.POST, request.FILES)
if form_mates.is_valid():
instance = form_mates.save(commit=False)
instance.user = request.user
instance.save()
return redirect('mates-main')
print('succesfully uploded')
else:
form_mates = MatesForm()
print('didnt upload')
return redirect('mates-main')
forms.py
class MatesForm(forms.ModelForm):
class Meta:
model = Mates
fields = ('req_bio', 'req_image',)
exclude = ['user']
сопряжения. html
{% for content in contents %}
{% if not content.user == user %}
<div class="mates-grid">
<div class="mates-grid-1">
<div class="mates-item">
<form action="{% url 'mates' %}" method="post" enctype="multipart/form-data">
{% csrf_token %}
{{form_mates.as_p}}
</form>
</div>
</div>
</div>
{% elif content.user == user %}
I have my dynamic data output here
{% endif %}
{% endfor %}
Любые вопросы пишите в комментариях.