У меня более-менее рабочий комментарий и система редактирования комментариев. Однако, когда я настроил все так, чтобы правильный URL-адрес пользователя возвращался к URL в моем UpdateView, он разрывал ссылку, переходящую от страницы индекса к деталям (именно в деталях отображаются комментарии, доступ к форме комментариев и форме просмотра обновлений). Вот мой код с неработающим URL
urlpatterns = [
# ex: /restaurants/
path('', views.index, name='index'),
# ex: /restaurants/15
path('<int:restaurant_id>/', views.details, name='details'),
path('/edit/review/<int:userreview_id>', views.EditReview.as_view(), name='edit-review'),
]
Просмотр сведений
def details(request, restaurant_id):
# calling restaurant ID and displaying it's data
restaurant = get_object_or_404(Restaurant, pk=restaurant_id)
# calling a review and displaying it's data
user_review_list = UserReview.objects.filter(pk=restaurant_id)
user_reviews = []
for user_review in user_review_list:
if user_review.posted_by == request.user:
user_reviews.append({"user_review_grade": user_review.user_review_grade,
"user_review_comment": user_review.user_review_comment,
"posted_by": user_review.posted_by,
"edit": user_review.get_edit_url})
else:
user_reviews.append({"user_review_grade": user_review.user_review_grade,
"user_review_comment": user_review.user_review_comment,
"posted_by": user_review.posted_by})
return render(request, 'restaurants/details.html', {'restaurant': restaurant,
'user_review_list': user_reviews,})
шаблон индекса
{% extends "base_generic.html" %}
{% block content %}
<h1>Restauracje Poznan</h1>
<p>
Search by name or city
<form action="{% url 'restaurants:search_results' %}" method="get" class="form-inline">
<div class="form-group mx-sm-3 mb-2">
<input name="q" type="text" placeholder="Search...">
</div>
<div>
<input type="submit" class="btn btn-primary mb-2" value="Search">
</div>
</form>
</p>
<h2>Restaurants and other gastronomy places:</h2>
{% if restaurants_list %}
<ul class="list-group">
{% for restaurant in restaurants_list %}
<li class="list-group-item"><a href="{% url 'restaurants:details' restaurant.id %}">
{{ restaurant.restaurant_category }} - {{ restaurant.restaurant_name }}, {{ restaurant.restaurant_city }} - {{ restaurant.restaurant_cuisine_type }}
</a>
</li>
{% endfor %}
</ul>
{% else %}
<p>No restaurants have been registered yet, do you want <a href="{% url 'restaurants:NewRestaurant' %}">register yours?</a></p>
{% endif %}
{% endblock %}
шаблон сведений
{% extends "base_generic.html" %}
{% block content %}
<h1>My restaurant's review web page</h1>
<h2>{{restaurant.restaurant_name}}</h2>
<div class="container">
<div class="row">
<div class="col-sm">
<p>
Average Grade:<br>
<span><b>PLACEHOLDER</b></span>
</p>
</div>
<div class="col-sm">
<p>
Type of place:<br>
{{restaurant.restaurant_category}}<br>
Cuisine type: <br>
{{restaurant.restaurant_cuisine_type}}
<p>
</div>
<div class="col-sm">
<p>
Additional info: <br>
Address: {{restaurant.restaurant_street_number}} {{restaurant.restaurant_address}},
{{restaurant.restaurant_city}}<br>
Website: <a href="{{restaurant.restaurant_website_link}}" target="_blank">
{{restaurant.restaurant_website_link}}</a><br>
</p>
</div>
</div>
</div>
<h3>Reviews:</h3>
{% for userreview in restaurant.userreview_set.all %}
<ul>
<li>
Grade: {{ userreview.user_review_grade }}/5<br>
{{ userreview.user_review_comment }}<br>
{{ userreview.posted_by|capfirst }}
{% for userreview in user_review_list %}
{% if userreview.edit %}<a href="{% url 'restaurants:edit-review' userreview.id %}">
Edit</a>{% endif %}<br>
{% endfor %}
</ul>
</ul>
{% endfor %}
<p><a href="/restaurants/{{ restaurant.id }}/reviewing">Write a review for this restaurant</a> </p>
<p><a href="{% url 'restaurants:index' %}">Back to the main page</a> </p>
{% endblock %}
Нет Независимо от того, как я его включаю, я всегда получаю ошибку типа «Нет обратного соответствия» или что-то в этом роде. Я знаю, что должен найти способ передать pk на URL-адрес, но я совершенно не могу найти, где ... У вас, ребята, есть идея, что я был бы очень рад :) Ошибка: Обратный для 'edit-review' с аргументами '('',)' не найдено. Попробован 1 шаблон (ов): ['restaurant // edit / review / (? P [0-9] +) $']
PS: OF C Я просмотрел уже опубликованные вопросы, но не смог ' Не могу найти ни одной недавней версии с Django