Render() получил неожиданный аргумент ключевого слова 'board_id'
У меня есть такая функция для получения элементов из БД в соответствии с PK:
def new_topic(request, board_id):
board = get_object_or_404(Board, pk = board_id)
user = User.objects.first()
if request.method == 'POST':
form = NewTopicForm(request.POST)
if form.is_valid():
topic = form.save(commit=False)
topic.board = board
topic.created_by = user
topic.save()
post = Posts.objects.create(
message = form.cleaned_data.get('message'),
created_by = user,
topic = topic
)
return render('board_topics', board_id = board.pk)
else:
form = NewTopicForm()
return render(request,'new_topic.html', {'board':board, 'form':form})
Но он выдает эту ошибку:
render() получил неожиданный аргумент ключевого слова 'board_id'
Загляните в документацию функции render (https://docs.djangoproject.com/en/4.0/topics/http/shortcuts/#render)
Это должно работать:
render(request, 'board_topics', dict(board_id=board.pk))
Функция render ожидает первый параметр как запрос, затем имя шаблона и последний необязательный - контекст, поэтому измените ваш первый рендер на следующий:
return render(request, 'board_topics.html', {'board_id': board.pk})