02-10 질문등록버튼을 눌렀는데 404 에러가 납니다. 한참을 봤는데 어디가 문제인지 모르겠네요.
Page not found (404)
Request Method: GET
Request URL: http://localhost:8000/pybo/%7B%20url%20'pybo:question_create'%20%25%7D
Using the URLconf defined in config.urls, Django tried these URL patterns, in this order:
admin/
pybo/ [name='index']
pybo/ <int:question_id>/ [name='detail']
pybo/ answer/create/<int:question_id>/ [name='answer_create']
pybo/ question/create/ [name='question_create']
The current path, pybo/{ url 'pybo:question_create' %}, didn't match any of these.
아래는 urls.py입니다.
from django.urls import path
from . import views
app_name='pybo' #namespace
urlpatterns=[
path('', views.index, name='index'),
path('<int:question_id>/', views.detail, name='detail'),
path('answer/create/<int:question_id>/', views.answer_create, name='answer_create'),
path('question/create/', views.question_create, name='question_create'),
]
최원호 님 895
M 2021년 2월 24일 7:51 오후
요청 URL이 이상하네요. 질문 등록 버튼을 구현한 템플릿을 보여주세요.
-
박응용님,
2021년 2월 24일 7:52 오후
추천
,
대댓글
@박응용님
아래는 question_list.html이고
{% extends 'base.html' %}
{% block content %}
<div class="container my-3">
<table class="table">
<thead>
<tr class="thead-azure">
<th>Number</th>
<th>Title</th>
<th>Date</th>
</tr>
</thead>
<tbody>
{% if question_list %}
{% for question in question_list %}
<tr>
<td>{{forloop.counter}}</td>
<td>
<a href="{% url 'pybo:detail' question.id %}">
{{question.subject}}
</a>
</td>
<td>{{question.create_date}}</td>
</tr>
{% endfor %}
{% else %}
<tr>
<td colspan="3">No question any more</td>
</tr>
{% endif %}
</tbody>
</table>
<a href="{ url 'pybo:question_create' %}" class="btn btn-primary">
Register Question
</a>
</div>
{% endblock %}
아래는 question_detail.html입니다.
{% extends 'base.html' %}
{% block content %}
<div class="container my-3">
<h2 class="border-bottom py-2">{{question.subject}}</h2>
<div class="card my-3">
<div class="card-body">
<div class="card-text" style="white-space:pre-line;">
{{question.content}}
</div>
<div class="d-flex justify-content-end">
<div class="badge badge-light p-2">
{{question.create_date}}
</div>
</div>
</div>
</div>
<h5 class="border-bottom my-3 py-2">
there are {{question.answer_set.count}}
</h5>
<!--
<h1>{{quesiton.subject}}</h1>
<div>
{{question.content}}
</div>
<h5>{{question.answer_set.count}} are answers</h5>3
<div>
<ul>
{% for answer in question.answer_set.all %}
<li>{{answer.content}}</li>
{% endfor %}
</ul>
</div>
-->
{% for answer in question.answer_set.all %}
<div class="card my-3">
<div card="card-body">
<div class="card-text" style="white-space; pre-line;">
{{answer.content}}
</div>
<div class="d-flex justify-content-end">
<div class="badge badge-light p-2">
{{answer.create_date }}
</div>
</div>
</div>
</div>
{% endfor %}
<form action="{% url 'pybo:answer_create' question.id %}" method="post" class="my-3">
{% csrf_token %}
<div class="form-group">
<textarea name="content" id="content" class="form-control" rows="15"></textarea>
</div>
<input type="submit" value="register answer" class="btn btn-primary">
</form>
</div>
{% endblock %}
그리고 아래는 question_form.html입니다.
{% extends 'base.html' %}
{% block content %}
<div class="container">
<h5 class="my-3 border-bottom pb-2">register question</h5>
<form method="post" class="post-form my-3">
{% csrf_token %}
{{form.as_p}}
<button type="submit" class="btn btn-primary">Save</button>
</form>
</div>
{% endblock %}
-
최원호님,
2021년 2월 25일 9:18 오전
추천
,
대댓글
+1
@최원호님 <a href="{ url 'pybo:question_create' %}" class="btn btn-primary"> 요 부분이 URL이 템플릿에서 변환이 안되고 그대로 요청되는 것 같은데.. 템플릿에는 이상이 없어 보이네요.. 질문목록은 정상으로 보인다면 설정이 잘못된것도 아닐텐데요.. 잘 모르겠네요.
-
박응용님,
2021년 2월 25일 9:28 오전
추천
,
대댓글
+1
@박응용님 알아봐 줘서 고맙습니다. 저도 다시한번 찾아봐야 겠습니다. 이제 보니 url 앞에 %가 빠졌네요... 사소한 실수가 ...
-
최원호님,
M 2021년 2월 25일 2:47 오후
추천
,
대댓글