Django о форме, форме-группе и т.д.
1) Я хочу поместить имя пользователя, вошедшего в систему, в 'b_wrtier', что мне делать? Теперь, возможно из-за части html {для поля в форме}, появляется только заполнитель b_title, b_writer и b_note.
2) b_note Как мы можем расширить строки в b_note?
Я смотрел на это и это почти четыре часа, и достиг только моего нынешнего состояния, но мне кажется, что мне еще многого не хватает. Помогите этому жалкому новичку
forms.py
class BoardForm(forms.ModelForm):
b_title = forms.CharField(max_length=30, label="title",
error_messages={
'required': "Enter the title."
})
b_writer = forms.CharField(max_length=10, label="writer",
error_messages={
'required': "Enter the writer."
})
b_note = forms.CharField(max_length=None, widget=forms.Textarea, label="note",
error_messages={
'required': "Enter the note."
})
def clean(self):
clean_data = super().clean()
b_title = clean_data.get('b_title')
b_writer = clean_data.get('b_writer')
b_note = clean_data.get('b_note')
class Meta:
model = Board
fields = ['b_title', 'b_writer', 'b_note']
views.py
def board_write(request):
form = BoardForm()
return render(request, 'board_write.html', {
'form':form
})
@require_http_methods(["POST"])
def board_insert(request):
if request.method == "POST":
form = BoardForm(request.POST)
if form.is_valid():
form.save()
return redirect('/board')
else:
form = BoardForm()
return render(request, 'board_write.html', {'form':form})
board_write.html
<form method="POST" action="/board_insert" id="frmBoard">
{% csrf_token %}
{% for field in form %}
{% if user.is_authenticated %}
## I don't know from down here. ###
<div class="form-group">
<input type="{{field.field.widget.input_type}}" class="form-control" id="{{field.id_for_label}}" placeholder="{{field.label}}" name="{{field.name}}">
</div>
{% else %}
<div class="form-group">
?????????????????????
</div>
{% endif %}
{% if field.errors %}
<span style="color: red;">{{ field.errors }}</span>
{% endif %}
{% endfor %}