「 views.py without functions.py」の例を使用すると、正常に動作し、セッションが正常にチェックされているため、ユーザー名が返されます。
しかし、2番目の例をfunctions.pyで使用すると、次のエラーが表示されます
/login/ での NameError
グローバル名 'request' が定義されていません
functions.py なしの views.py
def main(request):
c = {}
c.update(csrf(request))
if request.session.get('username'):
susername = request.session['username']
else:
susername = ""
return render_to_response("login/login.html",{'username': susername},context_instance=RequestContext(request))
functions.py を使用した views.py
def main(request):
c = {}
c.update(csrf(request))
susername = loggedin()
return render_to_response("login/login.html",{'username': susername},context_instance=RequestContext(request))
関数.py
from django.template import RequestContext
def loggedin():
if request.session.get('username'):
susername = request.session['username']
else:
susername = ""
return susername
2番目のものが機能しないのはなぜですか?どうすれば解決できますか?
ありがとう