2017-04-25 18 views
1

私は(ローカルホスト:6543 /ユーザー)をロードできるようにしたい。:6543 /ユーザー/それが二番目のパラメータ(例:ローカルホストを必要とするため、それはロードされませんpythonでmatch_paramを否定する方法は? (ピラミッド)

enter image description here

、バツ)。

enter image description here

私は私が私のルート上にそれを設定しているため、それがあり、問題を認識です。ここで

config.add_route('users', '/users/{action}') 

ここで私の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() 

あなたは私のコードにいくつかの改善を与えることができれば

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 

が、答える人々をありがとう、私のviews.pyです、 教えてください。

答えて

1

私はここで私の行動のすべてのために別のルートを使うべきだと思います。

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() 

を変更し、ユーザーを行動に変更します。

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 
+1

ここで2つのルートを定義する必要があります。 1つはパターンと1つはありません。 **厳密には**必要ではありませんが、最良のアプローチです。あなたが望むなら、 '/ users/{action}'のようなパターンを持つ 'user_action'という名前を付けることができます。 –

関連する問題