私はDjangoを使用しています。訪問したページの名前を格納する関数を作成しようとしています。request.session
。しかし、私はエラーを取得し続ける "'unicode'オブジェクトには、変数を追加しようとする行に" append "という属性はありませんrequest.session['visited_pages']
私はオンラインで検索しましたが、問題を解決したものは何も見つかりませんでした。 request.session['visited_pages']
に直接追加することはできません。代わりに別の配列を作成する必要があります。私はそれをしましたが、それは私の問題を解決しませんでした。Python: 'unicode'オブジェクトに 'append'属性がありません
request.session['visited_pages'] = current_url
と::セッション中visited_pages
項目がlist
ないunicode
ある
request.session['visited_pages'] = [current_url]
ので、あなたが次の行を交換する必要が
def index(request):
visited_pages = get_visited_pages(request)
context = {
"visited_pages": visited_pages
}
return render(request, 'website/index.html', context)
def get_visited_pages(request):
current_url = resolve(request.path_info).url_name
if not 'visited_pages' in request.session or not request.session['visited_pages']:
request.session['visited_pages'] = current_url
else:
visited_pages_array = request.session['visited_pages']
visited_pages_array.append(current_url)
request.session['visited_pages'] = visited_pages_array
return request.session['visited_pages']
'print(visited_pages)'と 'print(type(visited_pages)) 'の出力を教えてください。 – MYGz
@MYGzエラーのため、ページ上に何も印刷できません。 – Sander
追加行をコメントアウトしてください。その上にプリントを挿入します。 – MYGz