0
私はDjangoフレームワークを学ぶためのミニプロジェクトとして小さなWebアプリケーションを作成しています。私はにあります。バージョン1.9.4、OS Xです。クラスベースのビューに送信されるURLに文字列を渡そうとしていますが、URLに基づいて別のテンプレートが返されます。私の知る限り、(?P)
を実行すると、動的テキストの入力が可能になります。 \w
は文字用で、<name>
と書くと、変数として渡されます。これは正しく設定されていますか、これは正しい方法ではありませんか?Django 1.9:urls.pyの引数をクラスビューに渡す
私が心配している理由は、Djangoのドキュメントではメソッドビューを使用していますが、クラスベースのビューを使用しています。
urls.py
from django.conf.urls import url
from . import views
app_name = 'xyz'
urlpatterns = [
url(r'^create/(?P<ty>\w+)$', views.ArticleView.as_view(), name='article-form'), #.as_view() to turn Class into View
]
views.py
class ArticleCreate(View):
l = {
'weapon': WeaponForm,
'map': MapForm,
'operator': OperatorForm,
'gadget': GadgetForm,
'skin': SkinForm
}
ty = ty.lower()
template_name = 'xyz/create_article_form.html'
def get(self, request):
return render(request, self.template_name)
def post(self, request):
pass
正しい方法は何ですか?ビュー内の 'ty'パラメータで何もしていないように見えますし、あなたが経験している問題を説明していないこともあります。 –