this suggestionの文字列パラメータをクラスベースのビューに渡してみましたが、動作していないようです。Django:文字列パラメータをクラスベースのビューに渡すことができません
URL:
url(r'^chart/(?P<chart_name>\w+)/$',
ChartView.as_view(chart_name='chart_name'), name="chart_url"),
ビュー:
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)
ビューにリダイレクトすることになっているリンク:
<a href="{% url 'chartboard:chart_url' chart_name='lords' %}">Sometext</a>
(名前空間に与えられた 'chartboard'プロジェクトのurlconf)。
エラー:その価値は、 "テスト" はコンソール出力に重複して印刷する内容については
NoReverseMatch at /chart/lords/
Reverse for 'chart_url' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['chart/(?P<chart_name>\\w+)/$']
(なぜ?)のUbuntu 14.04上ジャンゴ1.8.11とPython 3.4.3を使用して
0.04
トレースバックにエラーの原因となっている行が表示されていますか? 'chart_name = 'lords'がエラーメッセージと一致しないので、あなたが投稿したリンクではないと思います。 – Alasdair
@Alasdairあなたが正しいですね!私はこのURLをテンプレートの別の場所にパラメータなしで使用しているため、特定のエラー – pkaramol
問題を解決できましたか?そうでない場合は、失敗している行を投稿します。 – Alasdair