Django 1.5.4 주제 5 cookies 및 sessions
2463 단어 django
from django.http import HttpResponse
from django.shortcuts import render_to_response
from article.models import Article
def hello(request):
name ="Mike"
html =" <html> <body> Hi %s,this seems to have worked! </body> </html> " % name
return HttpResponse(html)
def hello_template_simple(request):
name ="Mike"
return render_to_response('hello.html',{'name':name})
def articles(request):
language ='en-gb'
session_language ='en-gb'
if 'lang' in request.COOKIES:
language = request.COOKIES['lang']
if 'lang' in request.session:
session_language =request.session['lang']
return render_to_response('articles.html',
{'articles':Article.objects.all(),'language':language,'session_language':session_language})
def article(request,article_id=1):
return render_to_response('article.html',
{'article':Article.objects.get(id=article_id)})
def language(request,language='en-gb'):
response =HttpResponse("setting language to %s" % language)
response.set_cookie('lang',language)
request.session['lang']=language
return response
둘.article/urls를 수정합니다.py의 내용은 다음과 같다
from django.conf.urls import patterns,include,url
urlpatterns = patterns('',
url(r'^all/$','article.views.articles'),
url(r'^get/(?P<article_id>\d+)/$','article.views.article'),
url(r'^language/(?P<language>[a-z\-]+)/$','article.views.language'),
)
셋.article/templates/articles를 수정합니다.html의 내용은 다음과 같다.
{% extends "base.html" %}
{% block content %}
<h2>Language is :{{ language }}</h2>
<h2>Session Language is : {{ session_language }}</h2>
{% if articles.count > 0 %}
{% for article in articles %}
<div>
<h2><a href="/articles/get/{{ article.id }}/">{{ article.title }}</a></h2>
<p> {{ article.body|lower|truncatewords:"10" }}</p>
</div>
{% endfor %}
{% else %}
<p>None to show!</p>
{% endif %}
{% endblock %}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django의 질문 및 답변 웹사이트환영 친구, 이것은 우리의 새로운 블로그입니다. 이 블로그에서는 , 과 같은 Question-n-Answer 웹사이트를 만들고 있습니다. 이 웹사이트는 회원가입 및 로그인이 가능합니다. 로그인 후 사용자는 사용자의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.