Django 학습(5) 정의 보기와 페이지 템플릿
3336 단어 django
코드는 다음과 같습니다.
이것은 이전 URL에 비친 URL (r'^articles/([0-9] {4})/$,views에 대한 간단한 처리 요청 함수입니다.year_archive),django는 URL에서 ()로 싸인 내용을 변수로 함수에 전달합니다.yeararchive의 year 변수는 ([0-9] {4}) 를 대표하는 값입니다.
Article.objects.filter(pub date year=year)는 발표 날짜가 year인 데이터를 필터합니다.주의pubdate__year, 데이터베이스 테이블에pub 만 있음date 필드,pubdate__year 대표 연차.
그래서 이것은django가 기본적으로 제공하는 인터페이스 조회 방식이라고 볼 수 있다.
다음에 되돌아온list 목록과 year를 사전 데이터로 조립합니다.
마지막으로django가 제공하는 함수render를 호출해서 되돌려줍니다.render가 완성하는 일은 템플릿을 선택하고 Context 대상을 만들고 이 데이터를 만든 Http Response에 넣는 것입니다.
mysite/news/views.py
from django.shortcuts import render
from .models import Article
def year_archive(request, year):
a_list = Article.objects.filter(pub_date__year=year)
context = {'year': year, 'article_list': a_list}
return render(request, 'news/year_archive.html', context)
위의 코드는 사실 아래의 데이터를 봉인하고render에서 아래의 코드를 봉인하는 작용을 한다.
from django.template import Template, Context
from django.http import HttpResponse
import datetime
def current_datetime(request):
now = datetime.datetime.now()
# Simple way of using templates from the filesystem.
# This is BAD because it doesn't account for missing files!
fp = open('/home/djangouser/templates/mytemplate.html')
t = Template(fp.read())
fp.close()
html = t.render(Context({'current_date': now}))
return HttpResponse(html)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django의 질문 및 답변 웹사이트환영 친구, 이것은 우리의 새로운 블로그입니다. 이 블로그에서는 , 과 같은 Question-n-Answer 웹사이트를 만들고 있습니다. 이 웹사이트는 회원가입 및 로그인이 가능합니다. 로그인 후 사용자는 사용자의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.