[英]Django 1.9 : Passing arguments from urls.py to a class view
我正在創建一個小型Web應用程序,作為我的一個微型項目,以學習Django框架。 我使用的是OS X上的1.9.4版本 。 我試圖在URL中傳遞一個字符串,該字符串將被發送到基於類的視圖,並且它將基於URL返回一個不同的模板。 據我所知,執行(?P)
將允許輸入動態文本。 \\w
用於字符,寫<name>
會將其作為變量傳遞。 這個配置正確嗎,或者這不是正確的方法?
我擔心的原因是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
傳遞給url的參數應在相關函數內部的視圖內“捕獲”,例如:
def get(self, request, ty):
ty = ty.lower()
return render(request, self.template_name)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.