前提・実現したいこと
url.pyのパスコンバーターで取得したキーワード引数を使いDetailviewでmodelから下記コードにあるrequired_urlを条件としてレコードを取得したいです。
しかし、DetailViewでurlで取得したはずのキーワード引数を使うことができません。
発生している問題・エラーメッセージ
エラーが発生した箇所: return Webpage.objects.get(url=required_url) execeptionType: NameError execeptionValue: name 'required_url' is not defined
該当のソースコード
urls
1app_name='my_app' 2urlpatterns = [ 3 ... 4 path('custompage/url=<path:required_url>/', views.CustompageView.as_view(), name='custompage'), 5 ... 6]
views
1class CustompageView(generic.DetailView): 2 model = Webpage 3 template_name = "my_app/custompage.html" 4 context_object_name = 'target_webpage' 5 6 7 def get_queryset(self): 8 return Webpage.objects.get(url=required_url) 9 ... 10
models
1class Webpage(models.Model): 2 webpage_id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) 3 url = models.URLField(max_length=3000) 4 created_date = models.DateTimeField('date created') 5 update_date = models.DateTimeField('date created') 6 tags = models.ManyToManyField(Tag, blank=True)
試したこと
def get_queryset(self,required_url):
return Webpage.objects.get(url=required_url)
↑get_querysetの引数にrequired_urlをいれてみました。
うまくいきませんでした...
補足情報(FW/ツールのバージョンなど)
どのようにしたら、required_urlを使用してmodelからレコードを取得する事ができるのでしょうか?
バージョン
django:2.1.1
python:3.6.5
よろしくお願いいたします。
注意:python,django,teratail、どれも始めたばかりですので何か間違った用語の使い方などをしていたらすいません。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。