Hints for updating app from older smarter¶
Base API changes¶
- name_prefix -> prefix
- SmarterSite -> Site
- smarter.views.GenericViews -> smarter.GenericViews
- register(views_or_model, generic_views=None) -> register(views, model)
URLs paths¶
Define ‘url’ for custom actions (search for urls_custom
).
URLs names¶
- prefix=’([^’]+)-‘ -> prefix=‘1’
Template paths:
Move templates to new paths:
('%(app)s/%(model)s/%(action)s.html', '%(app)s/%(model)s/%(action)s.ajax.html', 'smarter/%(action)s.html', 'smarter/_form.html', 'smarter/_ajax.html',)
or redefine ‘template’ in defaults, e.g:
('%(app)s/%(model)s_%(action)s.html', '%(model)s_%(action)s.html', 'smarter/%(action)s.html')
Decorators¶
Now defined in options as ‘decorators’ tuple/list, no ‘method_decorator’ needed.
AJAX¶
Define ‘ajax’ handler in options.
Permissions¶
GenericViews.check_permissions()
is not called anymore, use ‘permissions’ options and GenericViews.{action}__perm
methods.
Form save¶
GenericViews.save_form()
is not called anymore, use GenericViews.{action}__save
methods.
Views¶
- {action}_view -> {action}
- {action} method should return dict instead if
HttpResponse
- no self.process_form() - it’s not needed anymore
update_context
is not called anymore, use{action}__post
methods- no
render_to_response
method anymore, use Djangorender
shortcut withGenericViews.get_templates
method get_object
andget_objects_list
require request object as first argumentdeny
method requires request object as argument- form_params_[action] -> [action]’s ‘form’ in result dict