String parametrelerini sınıf temelli bir görünüme geçirmek için this suggestion'u denedim ancak işe yaramadı.Django: String parametrelerini çalışmayan sınıf tabanlı görünüme geçirme
url:
url(r'^chart/(?P<chart_name>\w+)/$',
ChartView.as_view(chart_name='chart_name'), name="chart_url"),
görünüm:
class ChartView(View):
template_name = "chart.html"
chart_name = None
def post(self, request, *args, **kwargs):
form = DatesForm(request.POST)
context = {
'form': form
}
return render(request, self.template_name, context)
def get(self, request, *args, **kwargs):
print("test")
form = DatesForm()
# fetch plot data (default values used)
context = {
'form': form,
'chart_name': self.chart_name
}
return render(request, self.template_name, context)
görünümüne yönlendirme olması gerekiyordu linki:
<a href="{% url 'chartboard:chart_url' chart_name='lords' %}">Sometext</a>
(ad verilen 'chartboard' projenin urlconf'u.
hatası: onun değerinde, "test" konsol çıkışına iki kez basılmış Nelerin için
NoReverseMatch at /chart/lords/
Reverse for 'chart_url' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['chart/(?P<chart_name>\\w+)/$']
(neden?) Ubuntu 14.04 üzerinde django 1.8.11 ve python 3.4.3 Kullanılması
.04
Geri tepme, hataya neden olan satırı gösteriyor mu? Gönderdiğiniz bağlantı olduğunu sanmıyorum, çünkü 'chart_name =' lords 'hata mesajıyla eşleşmiyor. – Alasdair
@Alasdair evet haklısın! Bu url'yi şablonun başka bir yerinde parametreler olmadan kullanıyorum ve dolayısıyla belirli bir hata – pkaramol
Sorunu çözmeyi başardınız mı? Değilse, başarısız olan satırı gönderin. – Alasdair