#python #html #django
#python #HTML #django
Вопрос:
В views.py
def index(request):
if request.method == "GET":
posts = Post.objects.all().order_by('-id')
allpost = True
paginator = Paginator(posts, 5) # Show 5 posts per page.
page_number = request.GET.get('page')
page_obj = paginator.get_page(page_number)
return render(request, "network/index.html",{
"AllPost" : allpost,
"page_obj" : page_obj,
})
def edit(request,post_id):
if request.method == "POST":
post = Post.objects.get(id=post_id)
content = request.POST["textarea"]
post.content = content
post.save()
return redirect("index")
В urls.py
path("", views.index, name="index"),
path("edit",views.edit,name="edit"),
Index.html
<form method="POST" action="{% url 'edit' post.id %}" id="edit-form{{post.id}}" style="display:none;">
{% csrf_token %}
{{post.date}}
<textarea rows="5" class="form-control" name="textarea">{{post.content}}</textarea>
<button type="submit" class="btn btn-outline-primary" style="float: right;">Save</button>
</form>
Пытаюсь отредактировать какое-то сообщение, но получаю ошибку обратного для ‘edit’ с аргументами ‘(12,)’ не найдено. попробовано 1 шаблон (ы): [‘edit $’]
Комментарии:
1. Определение
edit
в urls.py не принимает никаких аргументов, но вы вызываете его с аргументом.2. О .. понял!! Такая глупая ошибка. Спасибо
3. Ваш url.py for edit не принимает аргументы, и вы вызываете его с одним (id).
4. Большое спасибо, что исправили меня!! Я понял.