Я пытаюсь вручную написать дизайн формы в шаблоне, потому что то, что я получаю от {{form.as_p}} выглядит как дерьмо.
Я получилмодель по ссылке пользователя и другая модель.Как модель соединения для создания множества к одному, с одним дополнительным полем.
Так что это мои модели, кроме исключая пользовательскую модель.
class UserGroup(models.Model):
nickname = models.CharField(max_length=55)
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
group = models.ForeignKey('group.Group', on_delete=models.CASCADE)
И модель группы
class Group(models.Model):
name = models.CharField(max_length=250)
location = models.ForeignKey('Location', on_delete=models.SET_NULL, null=True, blank=False)
active = models.BooleanField(default=True)
Forms.py выглядит следующим образом
class UserGroups(forms.ModelForm):
class Meta:
model = UserGroup
fields = ('nickname', 'group')
Также представление ofc:
@method_decorator(login_required, name='dispatch')
class UserGroup(generic.CreateView):
form_class = UserGroups
template_name = 'users/user_group.html'
def get(self, request, *args, **kwargs):
return render(request, self.template_name, {'form': self.form_class})
Теперь, когда я использую {{form.as_p}} в шаблоне.Это становится действительно уродливым.Хуже всего то, что группы несколько.Он создает раскрывающийся список Select-Option.Я не к чему это.Я хочу просмотреть все группы и ввести псевдоним для каждой из них.Таким образом, пользователь может решить, к какой группе он хочет добавить псевдоним.
Это все, что я могу сказать.Это циклично.
{% for f in form.group %}
<label>{{ f }}</label>
<input id="{{ f.group }}" name="{{ f.group }}" value="{{ f.group|default_if_none:'' }}" type="text" placeholder="nickname" />
{% endfor %}
Я действительно не понимаю, как вызывать pk, имена полей и т. Д. Из формы.Я не могу найти хорошую документацию по этому поводу.
Есть предложения о том, как это сделать?