私の問題は私がピラミッドプロジェクトを構成する方法に関連していると思います。 私が達成したいのは、すべてのビューでコードを実行することです。すべてのビューに同じコードを貼り付ける必要はありません。そのように私は、単純に呼び出すだけで、すべてのビューにコードを含めます。これは私のコードです。ピラミッドのすべてのビューにセッションコードを入れずにすべてのページにセッションを入れる方法は?
私のウィザードモジュール
from pyramid.view import view_config, view_defaults
from .models import *
from datetime import datetime
from pyramid.response import Response
from bson import ObjectId
from pyramid.httpexceptions import HTTPFound
import json
class WizardView:
def __init__(self, request):
self.request = request
@view_config(route_name='wizard', renderer='templates/wizard.jinja2')
def wizard(self):
session = self.request.session
if session:
return {'fullname':session['name'],'userrole':session['userrole']}
else:
url = self.request.route_url('login')
return HTTPFound(location=url)
私の法案モジュール
from pyramid.view import view_config, view_defaults
from .models import *
from datetime import datetime
from pyramid.response import Response
from bson import ObjectId
from pyramid.httpexceptions import HTTPFound
class BillView:
def __init__(self, request):
self.request = request
@view_config(route_name='bills', renderer='templates/bills.jinja2')
def bills(self):
session = self.request.session
if session:
return {'fullname':session['name'],'userrole':session['userrole']}
else:
url = self.request.route_url('login')
return HTTPFound(location=url)
あなたは、私は二回、このコードを貼り付けする必要が見ることができるようにセッションが存在する場合(このコードのチェックは、そうでない場合は、その後にユーザーをリダイレクトログインページ)
session = self.request.session
if session:
return {'fullname':session['name'],'userrole':session['userrole']}
else:
url = self.request.route_url('login')
return HTTPFound(location=url)
私は検索しようとしましたが、私が必要と思うのは何らかのオートロアダマー?これをピラミッドにどのように適用できますか?または、私はこのプロセスに固執すべきですか?