Think about what happens after a form submission in Django class-based views.
By default, after a successful form submission, UpdateView redirects to the URL returned by get_success_url() or the success_url attribute.
Check the attribute names and types for specifying fields in UpdateView.
The correct attribute is fields (plural) and it must be a list or tuple of field names. The model must be the model class, not a string.
Think about what the UpdateView needs to show in the form when editing.
The 'object' in the context is the existing model instance fetched by the view to populate the form fields for editing.
Check the URL pattern for 'article_detail' and what arguments it expects.
The 'article_detail' URL likely requires a primary key argument to identify which article to show. The reverse() call misses this argument, causing NoReverseMatch.
Think about how URLs and views work together in Django.
UpdateView uses URL parameters like 'pk' or 'slug' to find the object in the database to edit. This is done by the get_object() method internally.