templatetag를 통해 사용자 개체를 내 서식 파일로 전달하려고합니다. 나는 처음에 simple_tag를 시도했지만 분명히 문자열만을위한 것일까?사용자 개체가 포함 된 Django Templatetag
templatetags/profiles.py를이 내가 그것을 테스트하기 위해 내 템플릿에 무엇을 가지고
from django.template import Library, Node, Template, VariableDoesNotExist, TemplateSyntaxError, \
Variable
from django.utils.translation import ugettext as _
from django.contrib.auth.models import User
from django.conf import settings
from django.core.exceptions import ImproperlyConfigured
from django.db import models
class userlist(Node):
def __init__(self, format_string):
self.format_string = format_string
def render(self, context):
try:
users = self.format_string
return users
except VariableDoesNotExist:
return None
def get_profiles(parser, token):
return userlist(User.objects.all())
register = Library()
register.tag('get_profiles', get_profiles)
:
{% load profiles %}
{% get_profiles %}
{% for p in get_profiles %} {{ p }} {% endfor %}
난 단지 [, , , , ]
가 인쇄받을 어쨌든 이것은 내가 지금까지 무엇을 가지고 또는 User.objects.all()
을 User.objects.count()
으로 변경하면 정확한 번호를 얻습니다. 내 템플릿의 반복은 아무 것도하지 않는 것 같습니다. 뭐가 잘못 되었 니?
User.objects.get (사용자 이름 = '테스트')와 같은 템플릿 태그를 필요로하는 것은 나에게 사용자를 제공합니다 "테스트"제대로 또한. 모든 객체를 전달하려고 시도하고 반복 할 때 템플릿에 루프를 사용하면 아무 것도 얻을 수 없습니다. – leffe