#30755: Have django.views.generic.base.View.as_view() check argument type, via
annotations.
-------------------------------+-----------------------------------------
     Reporter:  David Szotten  |                    Owner:  nobody
         Type:  New feature    |                   Status:  closed
    Component:  Generic views  |                  Version:  master
     Severity:  Normal         |               Resolution:  needsinfo
     Keywords:  typing         |             Triage Stage:  Someday/Maybe
    Has patch:  0              |      Needs documentation:  0
  Needs tests:  0              |  Patch needs improvement:  0
Easy pickings:  0              |                    UI/UX:  0
-------------------------------+-----------------------------------------

Comment (by David Szotten):

 I'm happy to leave this to the linked mailing list discussion/dep

 In the mean time, would you accept a patch pulling out the `initkwargs`
 validation from `as_view` into a helper method, to make it easier for me
 to override this behaviour in my projects?

 Are you able to confirm that the only use-case for the validation is to
 catch likely mistakes/typos? Not to diminish it, i think it's very
 valuable, but i'm trying to make sure I'm not breaking something if i
 override this behaviour. (In a type-annotated codebase I think a type
 annotation is an equally valid "statement of intent")




 For some more context,

 the reason I'd rather not make it `Optional` is that it isn't really and
 I'd like the type checker to know that this value is always say a `str`
 and not make me check for `None`.



 {{{
 class MyView(View):
     key: str

     def get(self, request):
         # at this point self.key is definitely a str, not an Optional[str]
 }}}

-- 
Ticket URL: <https://code.djangoproject.com/ticket/30755#comment:6>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/070.c58249498f4e0089cde2dab1906b8750%40djangoproject.com.

Reply via email to