게시판 만들기 ver.2 -2
글쓰기 html
{% extends "base.html" %} {% block contents %}
<div class="row mt-5">
<div class="col-12">
<form method="POST" action=".">
{% csrf_token %} {% for field in form %}
<div class="form-group">
<label for="{{ field.id_for_label }}">{{field.label}}</label>
{{field.field.widget..name}} {% ifequal field.name 'contents' %}
<textarea
class="form-control"
name="{{field.name}}"
placeholder="{{field.label}}"
></textarea>
{% else %}
<input
type="{{ field.field.widget.input_type }}"
class="form-control"
id="{{ field.id_for_label}}"
placeholder="{{ field.label }}"
name="{{field.name}}"
/>
{% endifequal %}
</div>
{% if field.errors %}
<span style="color: red">{{ field.errors }}</span>
{% endif %} {% endfor %}
<button type="submit" class="btn btn-primary">글쓰기</button>
</form>
</div>
</div>
{% endblock %}
글쓰기 view
def board_write(request):
if request.method == 'POST':
form = BoardForm(request.POST)
if form.is_valid():
user_id = request.session.get('user')
fcuser = Fcuser.objects.get(pk=user_id)
board = Board()
board.title = form.cleaned_data['title']
board.contents = form.cleaned_data['contents']
board.writer = fcuser
board.save()
return redirect('/board/list')
else:
form = BoardForm()
return render(request, 'board_write.html', {'form': form})
글상세 html
{% extends "base.html" %} {% block contents %}
<div class="row mt-5">
<div class="col-12">
<div class="form-group">
<label for="title">제목</label>
<input
type="text"
class="form-control"
id="title"
value="{{board.title}}"
readonly
/>
<label for="contents">내용</label>
<textarea class="form-control" readonly>{{board.contents}}</textarea>
</div>
<button class="btn btn-primary">돌아가기</button>
</div>
</div>
{% endblock %}
글상세 urls
from django.urls import path
from . import views
urlpatterns = [
path('detail/<int:pk>/', views.board_detail),
path('list/', views.board_list),
path('write/', views.board_write),
]
글상세 views
def board_detail(request, pk):
board = Board.objects.get(pk=pk)
return render(request, 'board_detail.html', {'board':board})