簡體   English   中英

Django 1.9:將參數從urls.py傳遞到類視圖

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM