Формы Django: Ссылка на переменную, определенную в views def как заполнитель в формах
Я использую Django и пытаюсь сослаться на 'topic', имеющуюся в def в views, как на заполнитель, на который я ссылался из url. В приведенном ниже коде 'Replace this' должен показать содержимое 'topic', как определено в 'def editpage(request, topic)', но я не могу заставить ссылку работать.
from django.shortcuts import render
from django.http import HttpResponse, HttpResponseRedirect
from django.urls import reverse
from django import forms
from . import util
class EditPageForm(forms.Form):
title = forms.CharField(widget=forms.TextInput(attrs={'placeholder': 'Replace this', 'class': 'form-control'}))
def editpage(request, topic):
return render(request, "encyclopedia/editpage.html", {"form": EditPageForm(), "topic":f"{topic}"
})
Моя попытка заключалась в замене 'Replace this' на f'{topic}', но, похоже, это не работает.
from django.shortcuts import render
from django.http import HttpResponse, HttpResponseRedirect
from django.urls import reverse
from django import forms
from . import util
class EditPageForm(forms.Form):
title = forms.CharField(widget=forms.TextInput(attrs={'placeholder': f'{topic}', 'class': 'form-control'}))
def editpage(request, topic):
return render(request, "encyclopedia/editpage.html", {"form": EditPageForm(), "topic":f"{topic}"
})
Вместо этого я получаю ошибку, что 'topic' не определена. Заранее спасибо!
На мой взгляд, вам следует расширить параметр класса на topic
переменную.
like:
class EditPageForm(forms.Form, topic):
title = forms.CharField(widget=forms.TextInput(attrs={'placeholder': f'{topic}', 'class': 'form-control'}))
def editpage(request, topic):
return render(request, "encyclopedia/editpage.html", {"form": EditPageForm(topic), "topic":f"{topic}"
})