... e beat site news" link = "/sitenews/" description = "Updates on changes and additions to police beat central." def items ( self ): return NewsItem . objects . order_by ( "-pub_date" )[: 5 ] def item_title ( self , item ): return item . title def item ... _description ( self , item ): return item . description # item_link is only needed if NewsItem has no get_absolute_url method. def item_link ( ... self , item ): return reverse ( "news-item" , args = [ item . pk ]) このフィードにURLを接続するには、 URLconf にFeedオブジェクト ... ... e beat site news" link = "/sitenews/" description = "Updates on changes and additions to police beat central." def items ( self ): return NewsItem . objects . order_by ( "-pub_date" )[: 5 ] def item_title ( self , item ): return item . title def item ... _description ( self , item ): return item . description # item_link is only needed if NewsItem has no get_absolute_url method. def item_link ( ... self , item ): return reverse ( "news-item" , args = [ item . pk ]) このフィードにURLを接続するには、 URLconf にFeedオブジェクト ... ... とえば、次のようにレスポンスを提供するビューを検証するために func 属性を使えます。 # my_view here is a function based view. self . assertEqual ( response . resolver_match . func , my_view ) # Class-based views need to compare the view_class, as the # ... functions generated by as_view() won't be equal. self . assertIs ( response . resolver_match . func . view_class , MyView ) 指定された URL が見つからない場合、この属性にアクセス ... 数に格納される必要があります (新しい SessionStore は、この属性がアクセスされるたびに作られるためです): def test_something ( self ): session = self . client . session session [ "somekey" ] = "test" session . save () Client. asession () ¶ session 属性と ... ... とえば、次のようにレスポンスを提供するビューを検証するために func 属性を使えます。 # my_view here is a function based view. self . assertEqual ( response . resolver_match . func , my_view ) # Class-based views need to compare the view_class, as the # ... functions generated by as_view() won't be equal. self . assertIs ( response . resolver_match . func . view_class , MyView ) 指定された URL が見つからない場合、この属性にアクセス ... 数に格納される必要があります (新しい SessionStore は、この属性がアクセスされるたびに作られるためです): def test_something ( self ): session = self . client . session session [ "somekey" ] = "test" session . save () Client. asession () ¶ session 属性と ... ... terestView ( SingleObjectMixin , View ): """Records the current user's interest in an author.""" model = Author def post ( self , request , * args , ** kwargs ): if not request . user . is_authenticated : return HttpResponseForbidden () # Look up the ... author we're interested in. self . object = self . get_object () # Actually record interest somehow here! return HttpResponseRedirect ( reverse ( "author-d ... etail" , kwargs = { "pk" : self . object . pk }) ) 実際には、リレーショナルデータベースではなく、キーバリューストアに関心事を記録したいと思うでしょう。その ... ... terestView ( SingleObjectMixin , View ): """Records the current user's interest in an author.""" model = Author def post ( self , request , * args , ** kwargs ): if not request . user . is_authenticated : return HttpResponseForbidden () # Look up the ... author we're interested in. self . object = self . get_object () # Actually record interest somehow here! return HttpResponseRedirect ( reverse ( "author-d ... etail" , kwargs = { "pk" : self . object . pk }) ) 実際には、リレーショナルデータベースではなく、キーバリューストアに関心事を記録したいと思うでしょう。その ... ... m ( forms . Form ): name = forms . CharField () message = forms . CharField ( widget = forms . Textarea ) def send_email ( self ): # send email using the self.cleaned_data dictionary pass このとき、ビューは FormView を使うことで構築できます。 views.p ... ctFormView ( FormView ): template_name = "contact.html" form_class = ContactForm success_url = "/thanks/" def form_valid ( self , form ): # This method is called when valid form data has been POSTed. # It should return an HttpResponse. form . send_em ... urls import reverse class Author ( models . Model ): name = models . CharField ( max_length = 200 ) def get_absolute_url ( self ): return reverse ( "author-detail" , kwargs = { "pk" : self . pk }) そうしたら、 CreateView およびその仲間たちを使って実際 ... ... m ( forms . Form ): name = forms . CharField () message = forms . CharField ( widget = forms . Textarea ) def send_email ( self ): # send email using the self.cleaned_data dictionary pass このとき、ビューは FormView を使うことで構築できます。 views.p ... ctFormView ( FormView ): template_name = "contact.html" form_class = ContactForm success_url = "/thanks/" def form_valid ( self , form ): # This method is called when valid form data has been POSTed. # It should return an HttpResponse. form . send_em ... urls import reverse class Author ( models . Model ): name = models . CharField ( max_length = 200 ) def get_absolute_url ( self ): return reverse ( "author-detail" , kwargs = { "pk" : self . pk }) そうしたら、 CreateView およびその仲間たちを使って実際 ... ... from .models import Question class QuestionModelTests ( TestCase ): def test_was_published_recently_with_future_question ( self ): """ was_published_recently() returns False for questions whose pub_date is in the future. """ time = timezone . now () ... + datetime . timedelta ( days = 30 ) future_question = Question ( pub_date = time ) self . assertIs ( future_question . was_published_recently (), False ) ここでは、未来の日付の pub_date を持つ Question のインス ... all last ) : File "/path/to/djangotutorial/polls/tests.py" , line 16 , in test_was_published_recently_with_future_question self.assertIs ( future_question.was_published_recently () , False ) AssertionError: True is not False ------------------------- ... ... n ): pass このデコレータは、model admin クラスをその __init__() メソッド内で参照する必要がある場合(例: super(PersonAdmin, self).__init__(*args, **kwargs) )には使用できません。代わりに super().__init__(*args, **kwargs) のようにします。 admin ファイル ... ): list_display = [ "name" , "title" , "view_birth_date" ] @admin . display ( empty_value = "???" ) def view_birth_date ( self , obj ): return obj . birth_date ModelAdmin. exclude ¶ この属性を使用する場合、フォームから除外するフィールドの名称をリスト ... admin . ModelAdmin ): list_display = [ "upper_case_name" ] @admin . display ( description = "Name" ) def upper_case_name ( self , obj ): return f " { obj . first_name } { obj . last_name } " . upper () モデルの属性や (必須の引数を持たない) メソッドを ... 2026年10月08日