I want to be able to load the (localhost:6543/users),
it doesn't load because it requires a second parameter (ex. localhost:6543/users/x).
I'm aware of the problem, it is because I set it on my route.
config.add_route('users', '/users/{action}')
Here is my init.py
def includeme(config):
config.add_static_view('user_static', 'user:static', cache_max_age=3600)
config.add_static_view('static', 'user:static', cache_max_age=3600)
config.add_route('users', '/users/{action}')
config.scan()
here is my views.py
class UserView:
def __init__(self, request):
self.request = request
@view_config(route_name='users', renderer='templates/users.jinja2')
def users(self):
return {'title': 'Users'}
@view_config(route_name='users', renderer='json', match_param='action=list')
def list(self):
#return list
@view_config(route_name='users', renderer='json', match_param='action=add')
def add(self):
#add new user
@view_config(route_name='users', renderer='json', match_param='action=getUser')
def getUser(self):
#retrieve data for update
@view_config(route_name='users', renderer='json', match_param='action=updateUser')
def updateUser(self):
#update record
Thank you for those who will answer, if you can give some improvements on my code, please tell me.
I think I should use another route for all of my action here.
def includeme(config):
config.add_static_view('user_static', 'user:static', cache_max_age=3600)
config.add_static_view('static', 'user:static', cache_max_age=3600)
config.add_route('users', '/users')
config.add_route('action', '/action/{action}')
config.scan()
and modify the views, change users to action.
class UserView:
def __init__(self, request):
self.request = request
@view_config(route_name='users', renderer='templates/users.jinja2')
def users(self):
return {'title': 'Users'}
@view_config(route_name='action', renderer='json', match_param='action=list')
def list(self):
#return list
@view_config(route_name='action', renderer='json', match_param='action=add')
def add(self):
#add new user
@view_config(route_name='action', renderer='json', match_param='action=getUser')
def getUser(self):
#retrieve data for update
@view_config(route_name='action', renderer='json', match_param='action=updateUser')
def updateUser(self):
#update record