Invalid filter: 'sub'
Request Method: | GET |
---|---|
Request URL: | http://www.kgames.or.kr/info-service/newsletter-eng/?page=66 |
Django Version: | 1.7.10 |
Exception Type: | TemplateSyntaxError |
Exception Value: | Invalid filter: 'sub' |
Exception Location: | /home/ubuntu/virtualenvs/k-idea/local/lib/python2.7/site-packages/django/template/base.py in find_filter, line 378 |
Python Executable: | /usr/bin/uwsgi-core |
Python Version: | 2.7.6 |
Python Path: | ['.', '', '/home/ubuntu/virtualenvs/k-idea/local/lib/python2.7/site-packages/pyOpenSSL-0.15.1-py2.7.egg', '/home/ubuntu/virtualenvs/k-idea/local/lib/python2.7/site-packages/pycrypto-2.6.1-py2.7-linux-x86_64.egg', '/home/ubuntu/virtualenvs/k-idea/lib/python2.7', '/home/ubuntu/virtualenvs/k-idea/lib/python2.7/plat-x86_64-linux-gnu', '/home/ubuntu/virtualenvs/k-idea/lib/python2.7/lib-tk', '/home/ubuntu/virtualenvs/k-idea/lib/python2.7/lib-old', '/home/ubuntu/virtualenvs/k-idea/lib/python2.7/lib-dynload', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/home/ubuntu/virtualenvs/k-idea/local/lib/python2.7/site-packages'] |
Server time: | 토요일, 30 3월 2024 00:57:25 +0900 |
/home/ubuntu/virtualenvs/k-idea/local/lib/python2.7/site-packages/django/core/handlers/base.py
in get_response
response = middleware_method(request, callback, callback_args, callback_kwargs)
if response:
break
if response is None:
wrapped_callback = self.make_view_atomic(callback)
try:
response = wrapped_callback(request, *callback_args, **callback_kwargs)...
except Exception as e:
# If the view raised an exception, run it through exception
# middleware, and if the exception middleware returns a
# response, use that. Otherwise, reraise the exception.
for middleware_method in self._exception_middleware:
response = middleware_method(request, e)
Variable | Value |
---|---|
e | TemplateSyntaxError(u"Invalid filter: 'sub'",) |
callback_args | () |
resolver_match | ResolverMatch(func=<function newsletter_eng at 0x7f58fef8c500>, args=(), kwargs={}, url_name='newsletter_eng', app_name='None', namespace='') |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7f5900a23290>> |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f5907cf3590> |
request | "<WSGIRequest\npath:/info-service/newsletter-eng/,\nGET:<QueryDict: {u'page': [u'66']}>,\nPOST:<QueryDict: {}>,\nCOOKIES:{},\nMETA:{'CONTENT_LENGTH': '',\n 'CONTENT_TYPE': '',\n u'CSRF_COOKIE': u'telkBhh4mfRqSXeVcWPLXfFtNss9rekT',\n 'DOCUMENT_ROOT': '/usr/share/nginx/html',\n 'HTTP_ACCEPT': '*/*',\n 'HTTP_CONNECTION': 'keep-alive',\n 'HTTP_HOST': 'www.kgames.or.kr',\n 'HTTP_USER_AGENT': 'claudebot',\n 'HTTP_X_FORWARDED_FOR': '3.232.108.171',\n 'HTTP_X_FORWARDED_PORT': '80',\n 'HTTP_X_FORWARDED_PROTO': 'http',\n 'PATH_INFO': u'/info-service/newsletter-eng/',\n 'QUERY_STRING': 'page=66',\n 'REMOTE_ADDR': '172.31.3.11',\n 'REMOTE_PORT': '44614',\n 'REQUEST_METHOD': 'GET',\n 'REQUEST_URI': '/info-service/newsletter-eng/?page=66',\n u'SCRIPT_NAME': u'',\n 'SERVER_NAME': 'kgames.or.kr',\n 'SERVER_PORT': '80',\n 'SERVER_PROTOCOL': 'HTTP/1.1',\n 'UWSGI_APPID': 'www.kgames.or.kr|',\n 'UWSGI_SCHEME': 'http',\n 'uwsgi.node': 'ip-172-31-27-203',\n 'uwsgi.version': '1.9.17.1-debian',\n 'wsgi.errors': <open file 'wsgi_errors', mode 'w' at 0x7f5900aef270>,\n 'wsgi.file_wrapper': <built-in function uwsgi_sendfile>,\n 'wsgi.input': <uwsgi._Input object at 0x7f58fde915a0>,\n 'wsgi.multiprocess': True,\n 'wsgi.multithread': False,\n 'wsgi.run_once': False,\n 'wsgi.url_scheme': 'http',\n 'wsgi.version': (1, 0)}>" |
callback | <function newsletter_eng at 0x7f58fef8c500> |
wrapped_callback | <function newsletter_eng at 0x7f58fef8c500> |
resolver | <RegexURLResolver 'kidea.urls' (None:None) ^/> |
callback_kwargs | {} |
response | None |
urlconf | 'kidea.urls' |
./info_service/views.py
in newsletter_eng
matching = board_search.nl_boards(request).get('results')
matching_num = len(matching)
news_num = matching_num + 1
context_dict['news'] = matching
context_dict['news_num'] = news_num
context_dict['matching_num'] = matching_num
return render_to_response('info-service/newsletter_eng.html', context_dict, context)...
def newsletter_detail_eng(request, news_id):
context=RequestContext(request)
n = get_object_or_404(NewsLetter, id=news_id)
Variable | Value |
---|---|
news_num | 1969 |
now_time | datetime.date(2024, 3, 30) |
tag_default | '\xec\xa0\x84\xec\xb2\xb4' |
request | "<WSGIRequest\npath:/info-service/newsletter-eng/,\nGET:<QueryDict: {u'page': [u'66']}>,\nPOST:<QueryDict: {}>,\nCOOKIES:{},\nMETA:{'CONTENT_LENGTH': '',\n 'CONTENT_TYPE': '',\n u'CSRF_COOKIE': u'telkBhh4mfRqSXeVcWPLXfFtNss9rekT',\n 'DOCUMENT_ROOT': '/usr/share/nginx/html',\n 'HTTP_ACCEPT': '*/*',\n 'HTTP_CONNECTION': 'keep-alive',\n 'HTTP_HOST': 'www.kgames.or.kr',\n 'HTTP_USER_AGENT': 'claudebot',\n 'HTTP_X_FORWARDED_FOR': '3.232.108.171',\n 'HTTP_X_FORWARDED_PORT': '80',\n 'HTTP_X_FORWARDED_PROTO': 'http',\n 'PATH_INFO': u'/info-service/newsletter-eng/',\n 'QUERY_STRING': 'page=66',\n 'REMOTE_ADDR': '172.31.3.11',\n 'REMOTE_PORT': '44614',\n 'REQUEST_METHOD': 'GET',\n 'REQUEST_URI': '/info-service/newsletter-eng/?page=66',\n u'SCRIPT_NAME': u'',\n 'SERVER_NAME': 'kgames.or.kr',\n 'SERVER_PORT': '80',\n 'SERVER_PROTOCOL': 'HTTP/1.1',\n 'UWSGI_APPID': 'www.kgames.or.kr|',\n 'UWSGI_SCHEME': 'http',\n 'uwsgi.node': 'ip-172-31-27-203',\n 'uwsgi.version': '1.9.17.1-debian',\n 'wsgi.errors': <open file 'wsgi_errors', mode 'w' at 0x7f5900aef270>,\n 'wsgi.file_wrapper': <built-in function uwsgi_sendfile>,\n 'wsgi.input': <uwsgi._Input object at 0x7f58fde915a0>,\n 'wsgi.multiprocess': True,\n 'wsgi.multithread': False,\n 'wsgi.run_once': False,\n 'wsgi.url_scheme': 'http',\n 'wsgi.version': (1, 0)}>" |
context_dict | {'default_num': 0, 'news': [<NewsLetter: [K-GAMES] Game Newsletter - March 29 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 28 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 27 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 26 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 25 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 22 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 21 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 20 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 19 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 18 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 15 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 14 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 13 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 12 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 11 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 8 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 7 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 6 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 5 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 4 2024>, '...(remaining elements truncated)...'], 'news_num': 1969, 'nl': [<NewsTag: 뉴스>], 'now_time': datetime.date(2024, 3, 30), 'tag_default': '\xec\xa0\x84\xec\xb2\xb4'} |
default_num | 0 |
context | [{'False': False, 'None': None, 'True': True}, {u'csrf_token': <django.utils.functional.__proxy__ object at 0x7f58fe5dc250>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7f58fe5dc650>, u'request': <WSGIRequest path:/info-service/newsletter-eng/, GET:<QueryDict: {u'page': [u'66']}>, POST:<QueryDict: {}>, COOKIES:{}, META:{'CONTENT_LENGTH': '', 'CONTENT_TYPE': '', u'CSRF_COOKIE': u'telkBhh4mfRqSXeVcWPLXfFtNss9rekT', 'DOCUMENT_ROOT': '/usr/share/nginx/html', 'HTTP_ACCEPT': '*/*', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_HOST': 'www.kgames.or.kr', 'HTTP_USER_AGENT': 'claudebot', 'HTTP_X_FORWARDED_FOR': '3.232.108.171', 'HTTP_X_FORWARDED_PORT': '80', 'HTTP_X_FORWARDED_PROTO': 'http', 'PATH_INFO': u'/info-service/newsletter-eng/', 'QUERY_STRING': 'page=66', 'REMOTE_ADDR': '172.31.3.11', 'REMOTE_PORT': '44614', 'REQUEST_METHOD': 'GET', 'REQUEST_URI': '/info-service/newsletter-eng/?page=66', u'SCRIPT_NAME': u'', 'SERVER_NAME': 'kgames.or.kr', 'SERVER_PORT': '80', 'SERVER_PROTOCOL': 'HTTP/1.1', 'UWSGI_APPID': 'www.kgames.or.kr|', 'UWSGI_SCHEME': 'http', 'uwsgi.node': 'ip-172-31-27-203', 'uwsgi.version': '1.9.17.1-debian', 'wsgi.errors': <open file 'wsgi_errors', mode 'w' at 0x7f5900aef270>, 'wsgi.file_wrapper': <built-in function uwsgi_sendfile>, 'wsgi.input': <uwsgi._Input object at 0x7f58fde915a0>, 'wsgi.multiprocess': True, 'wsgi.multithread': False, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7f58fe5dc350>, u'TIME_ZONE': 'Asia/Seoul', u'STATIC_URL': '/static/', u'LANGUAGES': (('af', 'Afrikaans'), ('ar', 'Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmal'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese'), ('zh-tw', 'Traditional Chinese')), 'user': <SimpleLazyObject: <function <lambda> at 0x7f58fe5e21b8>>, u'LANGUAGE_CODE': 'ko-kr', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'WARNING': 30, 'SUCCESS': 25, 'ERROR': 40}, u'LANGUAGE_BIDI': False, u'MEDIA_URL': 'https://k-idea-s.s3.amazonaws.com/media/'}] |
news | [<NewsLetter: [K-GAMES] Game Newsletter - March 29 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 28 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 27 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 26 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 25 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 22 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 21 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 20 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 19 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 18 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 15 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 14 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 13 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 12 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 11 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 8 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 7 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 6 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 5 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 4 2024>, '...(remaining elements truncated)...'] |
nl | [<NewsTag: 뉴스>] |
/home/ubuntu/virtualenvs/k-idea/local/lib/python2.7/site-packages/django/shortcuts.py
in render_to_response
def render_to_response(*args, **kwargs):
"""
Returns a HttpResponse whose content is filled with the result of calling
django.template.loader.render_to_string() with the passed arguments.
"""
httpresponse_kwargs = {'content_type': kwargs.pop('content_type', None)}
return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs)...
def render(request, *args, **kwargs):
"""
Returns a HttpResponse whose content is filled with the result of calling
django.template.loader.render_to_string() with the passed arguments.
Variable | Value |
---|---|
httpresponse_kwargs | {'content_type': None} |
args | ('info-service/newsletter_eng.html', {'default_num': 0, 'news': [<NewsLetter: [K-GAMES] Game Newsletter - March 29 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 28 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 27 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 26 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 25 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 22 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 21 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 20 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 19 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 18 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 15 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 14 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 13 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 12 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 11 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 8 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 7 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 6 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 5 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 4 2024>, '...(remaining elements truncated)...'], 'news_num': 1969, 'nl': [<NewsTag: 뉴스>], 'now_time': datetime.date(2024, 3, 30), 'tag_default': '\xec\xa0\x84\xec\xb2\xb4'}, [{'False': False, 'None': None, 'True': True}, {u'csrf_token': <django.utils.functional.__proxy__ object at 0x7f58fe5dc250>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7f58fe5dc650>, u'request': <WSGIRequest path:/info-service/newsletter-eng/, GET:<QueryDict: {u'page': [u'66']}>, POST:<QueryDict: {}>, COOKIES:{}, META:{'CONTENT_LENGTH': '', 'CONTENT_TYPE': '', u'CSRF_COOKIE': u'telkBhh4mfRqSXeVcWPLXfFtNss9rekT', 'DOCUMENT_ROOT': '/usr/share/nginx/html', 'HTTP_ACCEPT': '*/*', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_HOST': 'www.kgames.or.kr', 'HTTP_USER_AGENT': 'claudebot', 'HTTP_X_FORWARDED_FOR': '3.232.108.171', 'HTTP_X_FORWARDED_PORT': '80', 'HTTP_X_FORWARDED_PROTO': 'http', 'PATH_INFO': u'/info-service/newsletter-eng/', 'QUERY_STRING': 'page=66', 'REMOTE_ADDR': '172.31.3.11', 'REMOTE_PORT': '44614', 'REQUEST_METHOD': 'GET', 'REQUEST_URI': '/info-service/newsletter-eng/?page=66', u'SCRIPT_NAME': u'', 'SERVER_NAME': 'kgames.or.kr', 'SERVER_PORT': '80', 'SERVER_PROTOCOL': 'HTTP/1.1', 'UWSGI_APPID': 'www.kgames.or.kr|', 'UWSGI_SCHEME': 'http', 'uwsgi.node': 'ip-172-31-27-203', 'uwsgi.version': '1.9.17.1-debian', 'wsgi.errors': <open file 'wsgi_errors', mode 'w' at 0x7f5900aef270>, 'wsgi.file_wrapper': <built-in function uwsgi_sendfile>, 'wsgi.input': <uwsgi._Input object at 0x7f58fde915a0>, 'wsgi.multiprocess': True, 'wsgi.multithread': False, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7f58fe5dc350>, u'TIME_ZONE': 'Asia/Seoul', u'STATIC_URL': '/static/', u'LANGUAGES': (('af', 'Afrikaans'), ('ar', 'Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmal'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese'), ('zh-tw', 'Traditional Chinese')), 'user': <SimpleLazyObject: <function <lambda> at 0x7f58fe5e21b8>>, u'LANGUAGE_CODE': 'ko-kr', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'WARNING': 30, 'SUCCESS': 25, 'ERROR': 40}, u'LANGUAGE_BIDI': False, u'MEDIA_URL': 'https://k-idea-s.s3.amazonaws.com/media/'}]) |
kwargs | {} |
/home/ubuntu/virtualenvs/k-idea/local/lib/python2.7/site-packages/django/template/loader.py
in render_to_string
context. The template_name may be a string to load a single template using
get_template, or it may be a tuple to use select_template to find one of
the templates in the list. Returns a string.
"""
if isinstance(template_name, (list, tuple)):
t = select_template(template_name, dirs)
else:
t = get_template(template_name, dirs)...
if not context_instance:
return t.render(Context(dictionary))
if not dictionary:
return t.render(context_instance)
# Add the dictionary to the context stack, ensuring it gets removed again
# to keep the context_instance in the same state it started in.
Variable | Value |
---|---|
dirs | None |
template_name | 'info-service/newsletter_eng.html' |
context_instance | [{'False': False, 'None': None, 'True': True}, {u'csrf_token': <django.utils.functional.__proxy__ object at 0x7f58fe5dc250>, 'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7f58fe5dc650>, u'request': <WSGIRequest path:/info-service/newsletter-eng/, GET:<QueryDict: {u'page': [u'66']}>, POST:<QueryDict: {}>, COOKIES:{}, META:{'CONTENT_LENGTH': '', 'CONTENT_TYPE': '', u'CSRF_COOKIE': u'telkBhh4mfRqSXeVcWPLXfFtNss9rekT', 'DOCUMENT_ROOT': '/usr/share/nginx/html', 'HTTP_ACCEPT': '*/*', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_HOST': 'www.kgames.or.kr', 'HTTP_USER_AGENT': 'claudebot', 'HTTP_X_FORWARDED_FOR': '3.232.108.171', 'HTTP_X_FORWARDED_PORT': '80', 'HTTP_X_FORWARDED_PROTO': 'http', 'PATH_INFO': u'/info-service/newsletter-eng/', 'QUERY_STRING': 'page=66', 'REMOTE_ADDR': '172.31.3.11', 'REMOTE_PORT': '44614', 'REQUEST_METHOD': 'GET', 'REQUEST_URI': '/info-service/newsletter-eng/?page=66', u'SCRIPT_NAME': u'', 'SERVER_NAME': 'kgames.or.kr', 'SERVER_PORT': '80', 'SERVER_PROTOCOL': 'HTTP/1.1', 'UWSGI_APPID': 'www.kgames.or.kr|', 'UWSGI_SCHEME': 'http', 'uwsgi.node': 'ip-172-31-27-203', 'uwsgi.version': '1.9.17.1-debian', 'wsgi.errors': <open file 'wsgi_errors', mode 'w' at 0x7f5900aef270>, 'wsgi.file_wrapper': <built-in function uwsgi_sendfile>, 'wsgi.input': <uwsgi._Input object at 0x7f58fde915a0>, 'wsgi.multiprocess': True, 'wsgi.multithread': False, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>, 'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7f58fe5dc350>, u'TIME_ZONE': 'Asia/Seoul', u'STATIC_URL': '/static/', u'LANGUAGES': (('af', 'Afrikaans'), ('ar', 'Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmal'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese'), ('zh-tw', 'Traditional Chinese')), 'user': <SimpleLazyObject: <function <lambda> at 0x7f58fe5e21b8>>, u'LANGUAGE_CODE': 'ko-kr', 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'WARNING': 30, 'SUCCESS': 25, 'ERROR': 40}, u'LANGUAGE_BIDI': False, u'MEDIA_URL': 'https://k-idea-s.s3.amazonaws.com/media/'}] |
dictionary | {'default_num': 0, 'news': [<NewsLetter: [K-GAMES] Game Newsletter - March 29 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 28 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 27 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 26 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 25 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 22 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 21 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 20 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 19 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 18 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 15 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 14 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 13 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 12 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 11 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 8 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 7 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 6 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 5 2024>, <NewsLetter: [K-GAMES] Game Newsletter - March 4 2024>, '...(remaining elements truncated)...'], 'news_num': 1969, 'nl': [<NewsTag: 뉴스>], 'now_time': datetime.date(2024, 3, 30), 'tag_default': '\xec\xa0\x84\xec\xb2\xb4'} |
/home/ubuntu/virtualenvs/k-idea/local/lib/python2.7/site-packages/django/template/loader.py
in get_template
def get_template(template_name, dirs=None):
"""
Returns a compiled Template object for the given template name,
handling template inheritance recursively.
"""
template, origin = find_template(template_name, dirs)...
if not hasattr(template, 'render'):
# template needs to be compiled
template = get_template_from_string(template, origin, template_name)
return template
Variable | Value |
---|---|
dirs | None |
template_name | 'info-service/newsletter_eng.html' |
/home/ubuntu/virtualenvs/k-idea/local/lib/python2.7/site-packages/django/template/loader.py
in find_template
for loader_name in settings.TEMPLATE_LOADERS:
loader = find_template_loader(loader_name)
if loader is not None:
loaders.append(loader)
template_source_loaders = tuple(loaders)
for loader in template_source_loaders:
try:
source, display_name = loader(name, dirs)...
return (source, make_origin(display_name, loader, name, dirs))
except TemplateDoesNotExist:
pass
raise TemplateDoesNotExist(name)
Variable | Value |
---|---|
dirs | None |
name | 'info-service/newsletter_eng.html' |
loader | <django.template.loaders.filesystem.Loader object at 0x7f58feeeb750> |
/home/ubuntu/virtualenvs/k-idea/local/lib/python2.7/site-packages/django/template/loader.py
in __call__
class BaseLoader(object):
is_usable = False
def __init__(self, *args, **kwargs):
pass
def __call__(self, template_name, template_dirs=None):
return self.load_template(template_name, template_dirs)...
def load_template(self, template_name, template_dirs=None):
source, display_name = self.load_template_source(template_name, template_dirs)
origin = make_origin(display_name, self.load_template_source, template_name, template_dirs)
try:
template = get_template_from_string(source, origin, template_name)
Variable | Value |
---|---|
template_dirs | None |
template_name | 'info-service/newsletter_eng.html' |
self | <django.template.loaders.filesystem.Loader object at 0x7f58feeeb750> |
/home/ubuntu/virtualenvs/k-idea/local/lib/python2.7/site-packages/django/template/loader.py
in load_template
def __call__(self, template_name, template_dirs=None):
return self.load_template(template_name, template_dirs)
def load_template(self, template_name, template_dirs=None):
source, display_name = self.load_template_source(template_name, template_dirs)
origin = make_origin(display_name, self.load_template_source, template_name, template_dirs)
try:
template = get_template_from_string(source, origin, template_name)...
return template, None
except TemplateDoesNotExist:
# If compiling the template we found raises TemplateDoesNotExist, back off to
# returning the source and display name for the template we were asked to load.
# This allows for correct identification (later) of the actual template that does
# not exist.
Variable | Value |
---|---|
origin | None |
template_dirs | None |
display_name | u'/home/ubuntu/k-idea.com/kidea/templates/info-service/newsletter_eng.html' |
template_name | 'info-service/newsletter_eng.html' |
self | <django.template.loaders.filesystem.Loader object at 0x7f58feeeb750> |
source | u'{% extends "base_eng.html" %}\n{% load staticfiles %}\n{% load humanize %}\n{% load endless %}\n{% block pagename %}\n{% endblock %}\n{% block toplink %}\n {{ block.super }}\n <link href="{% static "css/sub_base.css" %}" rel="stylesheet">\n <link href="{% static "css/notice.css" %}" rel="stylesheet">\n{% endblock %}\n{% block body %}<body>{% endblock %}\n{% block section %}\n <section class="main_wrapper">\n <div class="container">\n <aside class="hidden-sm hidden-xs">\n <h4>\n Information Service\n </h4>\n <div class="clearfix"></div>\n <ul>\n <li>\n <a href="/info-service/notice-eng/">\n Notice\n </a>\n </li>\n <li class="active">\n <a href="/info-service/newsletter-eng/">\n Newsletter\n </a>\n </li>\n <li>\n <a href="/info-service/report-eng/">\n Press Release\n </a>\n </li>\n <li>\n <a href="/info-service/press-eng/">\n Press Trend\n </a>\n </li>\n <li>\n <a href="/info-service/major-events-eng/">\n Events\n </a>\n </li>\n <li>\n <a href="/info-service/related-org-eng/">\n Interagency News\n </a>\n </li>\n <li>\n <a href="/info-service/publication-eng/">\n K-GAMES Publication\n </a>\n </li>\n </ul>\n </aside>\n <article>\n <ol class="breadcrumb">\n <li><a href="/info-service/notice/">Information Service</a></li>\n <li><a>Newsletter</a></li>\n </ol>\n <div class="clearfix"></div>\n <div class="sub_head">\n <img src="{% static "images/img_subtitle_b.png" %}" alt="\uc778\uc0ac\ub9d0" class="img-responsive" />\n <h4>\n Newsletter\n </h4>\n </div>\n <div class="clearfix"></div>\n <div class="sub_content">\n <div class="search_bar">\n <form action="" method="post">{% csrf_token %}\n <div class="btn-group">\n <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">\n <b>{{ tag_default }}</b> <i class="fa fa-caret-down"></i>\n </button>\n {% if nl %}\n <ul class="dropdown-menu">\n {% if not default_num == 0 %}\n <li class="search_word"><a href="#" class="0">Total</a></li>\n {% endif %}\n {% for n in nl %}\n <li class="search_word"><a href="#" class="{{ n.id }}">{{ n.tag }}</a></li>\n {% endfor %}\n </ul>\n {% endif %}\n </div>\n\n <input type="hidden" name="tag_name" value="{{ default_num }}" id="tag_name" />\n <input type="text" class="form-control" name="search_context" value="{{ search_context }}" placeholder="">\n <button class="btn btn-default">\n Search\n </button>\n </form>\n </div>\n <div class="clearfix"></div>\n <div class="table-responsive">\n <table class="table">\n <thead>\n <tr>\n <th class="first">No.</th>\n <th class="second">Title</th>\n <th>Date</th>\n <th>Views</th>\n </tr>\n </thead>\n <tbody>\n {% paginate 10 news %}\n {% if news %}\n {% for n in news %}\n <tr>\n <td class="first">\n {% if n.id > news_num|sub:forloop.counter %}\n {{ news_num|sub:forloop.counter }}\n {% else %}\n {{ n.id }}\n {% endif %}\n </td>\n <td class="second">\n <a href="/info-service/newsletter-detail-eng/{{ n.id }}">\n <span>{{ n.title }}</span>\n </a>\n </td>\n {% if n.date %}\n <td>{{ n.date|date:"Y-m-d" }}</td>\n {% else %}\n <td>{{ n.created_at|date:"Y-m-d" }}</td>\n {% endif %}\n <td>{{ n.view_count }}</td>\n </tr>\n {% endfor %}\n {% endif %}\n </tbody>\n </table>\n </div>\n <div class="clearfix"></div>\n <div class="page_link">\n {% show_pages %}\n </div>\n\n </div>\n </article>\n </div>\n </section>\n <div class="clearfix"></div>\n{% endblock %}\n{% block buttomscript %}\n {{ block.super }}\n <script>\n $(document).ready(function(){\n $(\'.nav li\').eq(1).addClass(\'active\');\n $(\'.logo a.kor\').click(function(e){\n e.preventDefault();\n window.location.href="/info-service/newsletter/";\n });\n $(\'.logo a.eng\').click(function(e){\n e.preventDefault();\n window.location.href="/info-service/newsletter-eng/";\n });\n $(\'.search_word\').click(function(e){\n e.preventDefault();\n var word = $(this).find(\'a\').text();\n var n_id = $(this).find(\'a\').attr(\'class\');\n $(\'#tag_name\').val(n_id);\n $(\'button.dropdown-toggle b\').text(word);\n });\n });\n </script>\n{% endblock %}\n' |
/home/ubuntu/virtualenvs/k-idea/local/lib/python2.7/site-packages/django/template/loader.py
in get_template_from_string
def get_template_from_string(source, origin=None, name=None):
"""
Returns a compiled Template object for the given template code,
handling template inheritance recursively.
"""
return Template(source, origin, name)...
def render_to_string(template_name, dictionary=None, context_instance=None,
dirs=None):
"""
Loads the given template_name and renders it with the given dictionary as
Variable | Value |
---|---|
origin | None |
source | u'{% extends "base_eng.html" %}\n{% load staticfiles %}\n{% load humanize %}\n{% load endless %}\n{% block pagename %}\n{% endblock %}\n{% block toplink %}\n {{ block.super }}\n <link href="{% static "css/sub_base.css" %}" rel="stylesheet">\n <link href="{% static "css/notice.css" %}" rel="stylesheet">\n{% endblock %}\n{% block body %}<body>{% endblock %}\n{% block section %}\n <section class="main_wrapper">\n <div class="container">\n <aside class="hidden-sm hidden-xs">\n <h4>\n Information Service\n </h4>\n <div class="clearfix"></div>\n <ul>\n <li>\n <a href="/info-service/notice-eng/">\n Notice\n </a>\n </li>\n <li class="active">\n <a href="/info-service/newsletter-eng/">\n Newsletter\n </a>\n </li>\n <li>\n <a href="/info-service/report-eng/">\n Press Release\n </a>\n </li>\n <li>\n <a href="/info-service/press-eng/">\n Press Trend\n </a>\n </li>\n <li>\n <a href="/info-service/major-events-eng/">\n Events\n </a>\n </li>\n <li>\n <a href="/info-service/related-org-eng/">\n Interagency News\n </a>\n </li>\n <li>\n <a href="/info-service/publication-eng/">\n K-GAMES Publication\n </a>\n </li>\n </ul>\n </aside>\n <article>\n <ol class="breadcrumb">\n <li><a href="/info-service/notice/">Information Service</a></li>\n <li><a>Newsletter</a></li>\n </ol>\n <div class="clearfix"></div>\n <div class="sub_head">\n <img src="{% static "images/img_subtitle_b.png" %}" alt="\uc778\uc0ac\ub9d0" class="img-responsive" />\n <h4>\n Newsletter\n </h4>\n </div>\n <div class="clearfix"></div>\n <div class="sub_content">\n <div class="search_bar">\n <form action="" method="post">{% csrf_token %}\n <div class="btn-group">\n <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">\n <b>{{ tag_default }}</b> <i class="fa fa-caret-down"></i>\n </button>\n {% if nl %}\n <ul class="dropdown-menu">\n {% if not default_num == 0 %}\n <li class="search_word"><a href="#" class="0">Total</a></li>\n {% endif %}\n {% for n in nl %}\n <li class="search_word"><a href="#" class="{{ n.id }}">{{ n.tag }}</a></li>\n {% endfor %}\n </ul>\n {% endif %}\n </div>\n\n <input type="hidden" name="tag_name" value="{{ default_num }}" id="tag_name" />\n <input type="text" class="form-control" name="search_context" value="{{ search_context }}" placeholder="">\n <button class="btn btn-default">\n Search\n </button>\n </form>\n </div>\n <div class="clearfix"></div>\n <div class="table-responsive">\n <table class="table">\n <thead>\n <tr>\n <th class="first">No.</th>\n <th class="second">Title</th>\n <th>Date</th>\n <th>Views</th>\n </tr>\n </thead>\n <tbody>\n {% paginate 10 news %}\n {% if news %}\n {% for n in news %}\n <tr>\n <td class="first">\n {% if n.id > news_num|sub:forloop.counter %}\n {{ news_num|sub:forloop.counter }}\n {% else %}\n {{ n.id }}\n {% endif %}\n </td>\n <td class="second">\n <a href="/info-service/newsletter-detail-eng/{{ n.id }}">\n <span>{{ n.title }}</span>\n </a>\n </td>\n {% if n.date %}\n <td>{{ n.date|date:"Y-m-d" }}</td>\n {% else %}\n <td>{{ n.created_at|date:"Y-m-d" }}</td>\n {% endif %}\n <td>{{ n.view_count }}</td>\n </tr>\n {% endfor %}\n {% endif %}\n </tbody>\n </table>\n </div>\n <div class="clearfix"></div>\n <div class="page_link">\n {% show_pages %}\n </div>\n\n </div>\n </article>\n </div>\n </section>\n <div class="clearfix"></div>\n{% endblock %}\n{% block buttomscript %}\n {{ block.super }}\n <script>\n $(document).ready(function(){\n $(\'.nav li\').eq(1).addClass(\'active\');\n $(\'.logo a.kor\').click(function(e){\n e.preventDefault();\n window.location.href="/info-service/newsletter/";\n });\n $(\'.logo a.eng\').click(function(e){\n e.preventDefault();\n window.location.href="/info-service/newsletter-eng/";\n });\n $(\'.search_word\').click(function(e){\n e.preventDefault();\n var word = $(this).find(\'a\').text();\n var n_id = $(this).find(\'a\').attr(\'class\');\n $(\'#tag_name\').val(n_id);\n $(\'button.dropdown-toggle b\').text(word);\n });\n });\n </script>\n{% endblock %}\n' |
name | 'info-service/newsletter_eng.html' |
/home/ubuntu/virtualenvs/k-idea/local/lib/python2.7/site-packages/django/template/base.py
in __init__
try:
template_string = force_text(template_string)
except UnicodeDecodeError:
raise TemplateEncodingError("Templates can only be constructed "
"from unicode or UTF-8 strings.")
if settings.TEMPLATE_DEBUG and origin is None:
origin = StringOrigin(template_string)
self.nodelist = compile_string(template_string, origin)...
self.name = name
self.origin = origin
def __iter__(self):
for node in self.nodelist:
for subnode in node:
Variable | Value |
---|---|
origin | None |
template_string | u'{% extends "base_eng.html" %}\n{% load staticfiles %}\n{% load humanize %}\n{% load endless %}\n{% block pagename %}\n{% endblock %}\n{% block toplink %}\n {{ block.super }}\n <link href="{% static "css/sub_base.css" %}" rel="stylesheet">\n <link href="{% static "css/notice.css" %}" rel="stylesheet">\n{% endblock %}\n{% block body %}<body>{% endblock %}\n{% block section %}\n <section class="main_wrapper">\n <div class="container">\n <aside class="hidden-sm hidden-xs">\n <h4>\n Information Service\n </h4>\n <div class="clearfix"></div>\n <ul>\n <li>\n <a href="/info-service/notice-eng/">\n Notice\n </a>\n </li>\n <li class="active">\n <a href="/info-service/newsletter-eng/">\n Newsletter\n </a>\n </li>\n <li>\n <a href="/info-service/report-eng/">\n Press Release\n </a>\n </li>\n <li>\n <a href="/info-service/press-eng/">\n Press Trend\n </a>\n </li>\n <li>\n <a href="/info-service/major-events-eng/">\n Events\n </a>\n </li>\n <li>\n <a href="/info-service/related-org-eng/">\n Interagency News\n </a>\n </li>\n <li>\n <a href="/info-service/publication-eng/">\n K-GAMES Publication\n </a>\n </li>\n </ul>\n </aside>\n <article>\n <ol class="breadcrumb">\n <li><a href="/info-service/notice/">Information Service</a></li>\n <li><a>Newsletter</a></li>\n </ol>\n <div class="clearfix"></div>\n <div class="sub_head">\n <img src="{% static "images/img_subtitle_b.png" %}" alt="\uc778\uc0ac\ub9d0" class="img-responsive" />\n <h4>\n Newsletter\n </h4>\n </div>\n <div class="clearfix"></div>\n <div class="sub_content">\n <div class="search_bar">\n <form action="" method="post">{% csrf_token %}\n <div class="btn-group">\n <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">\n <b>{{ tag_default }}</b> <i class="fa fa-caret-down"></i>\n </button>\n {% if nl %}\n <ul class="dropdown-menu">\n {% if not default_num == 0 %}\n <li class="search_word"><a href="#" class="0">Total</a></li>\n {% endif %}\n {% for n in nl %}\n <li class="search_word"><a href="#" class="{{ n.id }}">{{ n.tag }}</a></li>\n {% endfor %}\n </ul>\n {% endif %}\n </div>\n\n <input type="hidden" name="tag_name" value="{{ default_num }}" id="tag_name" />\n <input type="text" class="form-control" name="search_context" value="{{ search_context }}" placeholder="">\n <button class="btn btn-default">\n Search\n </button>\n </form>\n </div>\n <div class="clearfix"></div>\n <div class="table-responsive">\n <table class="table">\n <thead>\n <tr>\n <th class="first">No.</th>\n <th class="second">Title</th>\n <th>Date</th>\n <th>Views</th>\n </tr>\n </thead>\n <tbody>\n {% paginate 10 news %}\n {% if news %}\n {% for n in news %}\n <tr>\n <td class="first">\n {% if n.id > news_num|sub:forloop.counter %}\n {{ news_num|sub:forloop.counter }}\n {% else %}\n {{ n.id }}\n {% endif %}\n </td>\n <td class="second">\n <a href="/info-service/newsletter-detail-eng/{{ n.id }}">\n <span>{{ n.title }}</span>\n </a>\n </td>\n {% if n.date %}\n <td>{{ n.date|date:"Y-m-d" }}</td>\n {% else %}\n <td>{{ n.created_at|date:"Y-m-d" }}</td>\n {% endif %}\n <td>{{ n.view_count }}</td>\n </tr>\n {% endfor %}\n {% endif %}\n </tbody>\n </table>\n </div>\n <div class="clearfix"></div>\n <div class="page_link">\n {% show_pages %}\n </div>\n\n </div>\n </article>\n </div>\n </section>\n <div class="clearfix"></div>\n{% endblock %}\n{% block buttomscript %}\n {{ block.super }}\n <script>\n $(document).ready(function(){\n $(\'.nav li\').eq(1).addClass(\'active\');\n $(\'.logo a.kor\').click(function(e){\n e.preventDefault();\n window.location.href="/info-service/newsletter/";\n });\n $(\'.logo a.eng\').click(function(e){\n e.preventDefault();\n window.location.href="/info-service/newsletter-eng/";\n });\n $(\'.search_word\').click(function(e){\n e.preventDefault();\n var word = $(this).find(\'a\').text();\n var n_id = $(this).find(\'a\').attr(\'class\');\n $(\'#tag_name\').val(n_id);\n $(\'button.dropdown-toggle b\').text(word);\n });\n });\n </script>\n{% endblock %}\n' |
self | <django.template.base.Template object at 0x7f58fe5dc950> |
name | 'info-service/newsletter_eng.html' |
/home/ubuntu/virtualenvs/k-idea/local/lib/python2.7/site-packages/django/template/base.py
in compile_string
if settings.TEMPLATE_DEBUG:
from django.template.debug import DebugLexer, DebugParser
lexer_class, parser_class = DebugLexer, DebugParser
else:
lexer_class, parser_class = Lexer, Parser
lexer = lexer_class(template_string, origin)
parser = parser_class(lexer.tokenize())
return parser.parse()...
class Token(object):
def __init__(self, token_type, contents):
# token_type must be TOKEN_TEXT, TOKEN_VAR, TOKEN_BLOCK or
# TOKEN_COMMENT.
Variable | Value |
---|---|
lexer_class | <class 'django.template.base.Lexer'> |
origin | None |
parser | <django.template.base.Parser object at 0x7f58fe5dc9d0> |
lexer | <django.template.base.Lexer object at 0x7f58fe5dc710> |
template_string | u'{% extends "base_eng.html" %}\n{% load staticfiles %}\n{% load humanize %}\n{% load endless %}\n{% block pagename %}\n{% endblock %}\n{% block toplink %}\n {{ block.super }}\n <link href="{% static "css/sub_base.css" %}" rel="stylesheet">\n <link href="{% static "css/notice.css" %}" rel="stylesheet">\n{% endblock %}\n{% block body %}<body>{% endblock %}\n{% block section %}\n <section class="main_wrapper">\n <div class="container">\n <aside class="hidden-sm hidden-xs">\n <h4>\n Information Service\n </h4>\n <div class="clearfix"></div>\n <ul>\n <li>\n <a href="/info-service/notice-eng/">\n Notice\n </a>\n </li>\n <li class="active">\n <a href="/info-service/newsletter-eng/">\n Newsletter\n </a>\n </li>\n <li>\n <a href="/info-service/report-eng/">\n Press Release\n </a>\n </li>\n <li>\n <a href="/info-service/press-eng/">\n Press Trend\n </a>\n </li>\n <li>\n <a href="/info-service/major-events-eng/">\n Events\n </a>\n </li>\n <li>\n <a href="/info-service/related-org-eng/">\n Interagency News\n </a>\n </li>\n <li>\n <a href="/info-service/publication-eng/">\n K-GAMES Publication\n </a>\n </li>\n </ul>\n </aside>\n <article>\n <ol class="breadcrumb">\n <li><a href="/info-service/notice/">Information Service</a></li>\n <li><a>Newsletter</a></li>\n </ol>\n <div class="clearfix"></div>\n <div class="sub_head">\n <img src="{% static "images/img_subtitle_b.png" %}" alt="\uc778\uc0ac\ub9d0" class="img-responsive" />\n <h4>\n Newsletter\n </h4>\n </div>\n <div class="clearfix"></div>\n <div class="sub_content">\n <div class="search_bar">\n <form action="" method="post">{% csrf_token %}\n <div class="btn-group">\n <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">\n <b>{{ tag_default }}</b> <i class="fa fa-caret-down"></i>\n </button>\n {% if nl %}\n <ul class="dropdown-menu">\n {% if not default_num == 0 %}\n <li class="search_word"><a href="#" class="0">Total</a></li>\n {% endif %}\n {% for n in nl %}\n <li class="search_word"><a href="#" class="{{ n.id }}">{{ n.tag }}</a></li>\n {% endfor %}\n </ul>\n {% endif %}\n </div>\n\n <input type="hidden" name="tag_name" value="{{ default_num }}" id="tag_name" />\n <input type="text" class="form-control" name="search_context" value="{{ search_context }}" placeholder="">\n <button class="btn btn-default">\n Search\n </button>\n </form>\n </div>\n <div class="clearfix"></div>\n <div class="table-responsive">\n <table class="table">\n <thead>\n <tr>\n <th class="first">No.</th>\n <th class="second">Title</th>\n <th>Date</th>\n <th>Views</th>\n </tr>\n </thead>\n <tbody>\n {% paginate 10 news %}\n {% if news %}\n {% for n in news %}\n <tr>\n <td class="first">\n {% if n.id > news_num|sub:forloop.counter %}\n {{ news_num|sub:forloop.counter }}\n {% else %}\n {{ n.id }}\n {% endif %}\n </td>\n <td class="second">\n <a href="/info-service/newsletter-detail-eng/{{ n.id }}">\n <span>{{ n.title }}</span>\n </a>\n </td>\n {% if n.date %}\n <td>{{ n.date|date:"Y-m-d" }}</td>\n {% else %}\n <td>{{ n.created_at|date:"Y-m-d" }}</td>\n {% endif %}\n <td>{{ n.view_count }}</td>\n </tr>\n {% endfor %}\n {% endif %}\n </tbody>\n </table>\n </div>\n <div class="clearfix"></div>\n <div class="page_link">\n {% show_pages %}\n </div>\n\n </div>\n </article>\n </div>\n </section>\n <div class="clearfix"></div>\n{% endblock %}\n{% block buttomscript %}\n {{ block.super }}\n <script>\n $(document).ready(function(){\n $(\'.nav li\').eq(1).addClass(\'active\');\n $(\'.logo a.kor\').click(function(e){\n e.preventDefault();\n window.location.href="/info-service/newsletter/";\n });\n $(\'.logo a.eng\').click(function(e){\n e.preventDefault();\n window.location.href="/info-service/newsletter-eng/";\n });\n $(\'.search_word\').click(function(e){\n e.preventDefault();\n var word = $(this).find(\'a\').text();\n var n_id = $(this).find(\'a\').attr(\'class\');\n $(\'#tag_name\').val(n_id);\n $(\'button.dropdown-toggle b\').text(word);\n });\n });\n </script>\n{% endblock %}\n' |
parser_class | <class 'django.template.base.Parser'> |
/home/ubuntu/virtualenvs/k-idea/local/lib/python2.7/site-packages/django/template/base.py
in parse
# resulting node
self.enter_command(command, token)
try:
compile_func = self.tags[command]
except KeyError:
self.invalid_block_tag(token, command, parse_until)
try:
compiled_result = compile_func(self, token)...
except TemplateSyntaxError as e:
if not self.compile_function_error(token, e):
raise
self.extend_nodelist(nodelist, compiled_result, token)
self.exit_command()
if parse_until:
Variable | Value |
---|---|
nodelist | [] |
compile_func | <function do_extends at 0x7f5907a62500> |
self | <django.template.base.Parser object at 0x7f58fe5dc9d0> |
token | <django.template.base.Token object at 0x7f58fd18d1d0> |
parse_until | [] |
command | u'extends' |
e | TemplateSyntaxError(u"Invalid filter: 'sub'",) |
/home/ubuntu/virtualenvs/k-idea/local/lib/python2.7/site-packages/django/template/loader_tags.py
in do_extends
name of the parent template to extend (if it evaluates to a string) or as
the parent template itself (if it evaluates to a Template object).
"""
bits = token.split_contents()
if len(bits) != 2:
raise TemplateSyntaxError("'%s' takes one argument" % bits[0])
parent_name = parser.compile_filter(bits[1])
nodelist = parser.parse()...
if nodelist.get_nodes_by_type(ExtendsNode):
raise TemplateSyntaxError("'%s' cannot appear more than once in the same template" % bits[0])
return ExtendsNode(nodelist, parent_name)
@register.tag('include')
Variable | Value |
---|---|
parent_name | <django.template.base.FilterExpression object at 0x7f58fe5dcc90> |
token | <django.template.base.Token object at 0x7f58fd18d1d0> |
parser | <django.template.base.Parser object at 0x7f58fe5dc9d0> |
bits | [u'extends', u'"base_eng.html"'] |
/home/ubuntu/virtualenvs/k-idea/local/lib/python2.7/site-packages/django/template/base.py
in parse
# resulting node
self.enter_command(command, token)
try:
compile_func = self.tags[command]
except KeyError:
self.invalid_block_tag(token, command, parse_until)
try:
compiled_result = compile_func(self, token)...
except TemplateSyntaxError as e:
if not self.compile_function_error(token, e):
raise
self.extend_nodelist(nodelist, compiled_result, token)
self.exit_command()
if parse_until:
Variable | Value |
---|---|
compiled_result | <Block Node: body. Contents: [<Text Node: '<body>'>]> |
nodelist | [<Text Node: ' '>, <django.template.defaulttags.LoadNode object at 0x7f58fd18d210>, <Text Node: ' '>, <django.template.defaulttags.LoadNode object at 0x7f58fd18d290>, <Text Node: ' '>, <django.template.defaulttags.LoadNode object at 0x7f58fd18d310>, <Text Node: ' '>, <Block Node: pagename. Contents: [<Text Node: ' '>]>, <Text Node: ' '>, <Block Node: toplink. Contents: [<Text Node: ' '>, <Variable Node: block.super>, <Text Node: ' <link href="'>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f58fd18d190>, <Text Node: '" rel="stylesheet"> <'>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f58fd18d110>, <Text Node: '" rel="stylesheet"> '>]>, <Text Node: ' '>, <Block Node: body. Contents: [<Text Node: '<body>'>]>, <Text Node: ' '>] |
compile_func | <function do_block at 0x7f5907a62488> |
self | <django.template.base.Parser object at 0x7f58fe5dc9d0> |
token | <django.template.base.Token object at 0x7f58fd18d890> |
parse_until | [] |
command | u'block' |
e | TemplateSyntaxError(u"Invalid filter: 'sub'",) |
/home/ubuntu/virtualenvs/k-idea/local/lib/python2.7/site-packages/django/template/loader_tags.py
in do_block
# check for duplication.
try:
if block_name in parser.__loaded_blocks:
raise TemplateSyntaxError("'%s' tag with name '%s' appears more than once" % (bits[0], block_name))
parser.__loaded_blocks.append(block_name)
except AttributeError: # parser.__loaded_blocks isn't a list yet
parser.__loaded_blocks = [block_name]
nodelist = parser.parse(('endblock',))...
# This check is kept for backwards-compatibility. See #3100.
endblock = parser.next_token()
acceptable_endblocks = ('endblock', 'endblock %s' % block_name)
if endblock.contents not in acceptable_endblocks:
parser.invalid_block_tag(endblock, 'endblock', acceptable_endblocks)
Variable | Value |
---|---|
block_name | u'section' |
token | <django.template.base.Token object at 0x7f58fd18d890> |
parser | <django.template.base.Parser object at 0x7f58fe5dc9d0> |
bits | [u'block', u'section'] |
/home/ubuntu/virtualenvs/k-idea/local/lib/python2.7/site-packages/django/template/base.py
in parse
# resulting node
self.enter_command(command, token)
try:
compile_func = self.tags[command]
except KeyError:
self.invalid_block_tag(token, command, parse_until)
try:
compiled_result = compile_func(self, token)...
except TemplateSyntaxError as e:
if not self.compile_function_error(token, e):
raise
self.extend_nodelist(nodelist, compiled_result, token)
self.exit_command()
if parse_until:
Variable | Value |
---|---|
compiled_result | <endless_pagination.templatetags.endless.PaginateNode object at 0x7f58fd18df90> |
filter_expression | <django.template.base.FilterExpression object at 0x7f58fd18ded0> |
nodelist | [<Text Node: ' <section class="main'>, <django.contrib.staticfiles.templatetags.staticfiles.StaticFilesNode object at 0x7f58fd18d810>, <Text Node: '" alt="???" class="img-re'>, <django.template.defaulttags.CsrfTokenNode object at 0x7f58fd18d950>, <Text Node: ' '>, <Variable Node: tag_default>, <Text Node: '</b> <i class="fa fa-care'>, <IfNode>, <Text Node: ' '>, <Variable Node: default_num>, <Text Node: '" id="tag_name" /> '>, <Variable Node: search_context>, <Text Node: '" placeholder=""> '>, <endless_pagination.templatetags.endless.PaginateNode object at 0x7f58fd18df90>, <Text Node: ' '>] |
compile_func | <function do_if at 0x7f5907ad8ed8> |
var_node | <Variable Node: search_context> |
token | <django.template.base.Token object at 0x7f58fd175090> |
parse_until | ('endblock',) |
command | u'if' |
e | TemplateSyntaxError(u"Invalid filter: 'sub'",) |
self | <django.template.base.Parser object at 0x7f58fe5dc9d0> |
/home/ubuntu/virtualenvs/k-idea/local/lib/python2.7/site-packages/django/template/defaulttags.py
in do_if
``==`` (or ``=``), ``!=``, ``>``, ``>=``, ``<`` and ``<=``.
Operator precedence follows Python.
"""
# {% if ... %}
bits = token.split_contents()[1:]
condition = TemplateIfParser(parser, bits).parse()
nodelist = parser.parse(('elif', 'else', 'endif'))...
conditions_nodelists = [(condition, nodelist)]
token = parser.next_token()
# {% elif ... %} (repeatable)
while token.contents.startswith('elif'):
bits = token.split_contents()[1:]
Variable | Value |
---|---|
token | <django.template.base.Token object at 0x7f58fd175090> |
parser | <django.template.base.Parser object at 0x7f58fe5dc9d0> |
bits | [u'news'] |
condition | (literal <django.template.base.FilterExpression object at 0x7f58fd1510d0>) |
/home/ubuntu/virtualenvs/k-idea/local/lib/python2.7/site-packages/django/template/base.py
in parse
# resulting node
self.enter_command(command, token)
try:
compile_func = self.tags[command]
except KeyError:
self.invalid_block_tag(token, command, parse_until)
try:
compiled_result = compile_func(self, token)...
except TemplateSyntaxError as e:
if not self.compile_function_error(token, e):
raise
self.extend_nodelist(nodelist, compiled_result, token)
self.exit_command()
if parse_until:
Variable | Value |
---|---|
nodelist | [<Text Node: ' '>] |
compile_func | <function do_for at 0x7f5907ad8aa0> |
self | <django.template.base.Parser object at 0x7f58fe5dc9d0> |
token | <django.template.base.Token object at 0x7f58fd175110> |
parse_until | (u'elif', u'else', u'endif') |
command | u'for' |
e | TemplateSyntaxError(u"Invalid filter: 'sub'",) |
/home/ubuntu/virtualenvs/k-idea/local/lib/python2.7/site-packages/django/template/defaulttags.py
in do_for
loopvars = re.split(r' *, *', ' '.join(bits[1:in_index]))
for var in loopvars:
if not var or ' ' in var:
raise TemplateSyntaxError("'for' tag received an invalid argument:"
" %s" % token.contents)
sequence = parser.compile_filter(bits[in_index + 1])
nodelist_loop = parser.parse(('empty', 'endfor',))...
token = parser.next_token()
if token.contents == 'empty':
nodelist_empty = parser.parse(('endfor',))
parser.delete_first_token()
else:
nodelist_empty = None
Variable | Value |
---|---|
loopvars | [u'n'] |
sequence | <django.template.base.FilterExpression object at 0x7f58fd1750d0> |
parser | <django.template.base.Parser object at 0x7f58fe5dc9d0> |
in_index | -2 |
token | <django.template.base.Token object at 0x7f58fd175110> |
var | u'n' |
is_reversed | False |
bits | [u'for', u'n', u'in', u'news'] |
/home/ubuntu/virtualenvs/k-idea/local/lib/python2.7/site-packages/django/template/base.py
in parse
# resulting node
self.enter_command(command, token)
try:
compile_func = self.tags[command]
except KeyError:
self.invalid_block_tag(token, command, parse_until)
try:
compiled_result = compile_func(self, token)...
except TemplateSyntaxError as e:
if not self.compile_function_error(token, e):
raise
self.extend_nodelist(nodelist, compiled_result, token)
self.exit_command()
if parse_until:
Variable | Value |
---|---|
nodelist | [<Text Node: ' '>] |
compile_func | <function do_if at 0x7f5907ad8ed8> |
self | <django.template.base.Parser object at 0x7f58fe5dc9d0> |
token | <django.template.base.Token object at 0x7f58fd175190> |
parse_until | (u'empty', u'endfor') |
command | u'if' |
e | TemplateSyntaxError(u"Invalid filter: 'sub'",) |
/home/ubuntu/virtualenvs/k-idea/local/lib/python2.7/site-packages/django/template/defaulttags.py
in do_if
All supported operators are: ``or``, ``and``, ``in``, ``not in``
``==`` (or ``=``), ``!=``, ``>``, ``>=``, ``<`` and ``<=``.
Operator precedence follows Python.
"""
# {% if ... %}
bits = token.split_contents()[1:]
condition = TemplateIfParser(parser, bits).parse()...
nodelist = parser.parse(('elif', 'else', 'endif'))
conditions_nodelists = [(condition, nodelist)]
token = parser.next_token()
# {% elif ... %} (repeatable)
while token.contents.startswith('elif'):
Variable | Value |
---|---|
token | <django.template.base.Token object at 0x7f58fd175190> |
parser | <django.template.base.Parser object at 0x7f58fe5dc9d0> |
bits | [u'n.id', u'>', u'news_num|sub:forloop.counter'] |
/home/ubuntu/virtualenvs/k-idea/local/lib/python2.7/site-packages/django/template/defaulttags.py
in __init__
class TemplateIfParser(IfParser):
error_class = TemplateSyntaxError
def __init__(self, parser, *args, **kwargs):
self.template_parser = parser
super(TemplateIfParser, self).__init__(*args, **kwargs)...
def create_var(self, value):
return TemplateLiteral(self.template_parser.compile_filter(value), value)
@register.tag('if')
Variable | Value |
---|---|
self | <django.template.defaulttags.TemplateIfParser object at 0x7f58fd175150> |
args | ([u'n.id', u'>', u'news_num|sub:forloop.counter'],) |
parser | <django.template.base.Parser object at 0x7f58fe5dc9d0> |
kwargs | {} |
/home/ubuntu/virtualenvs/k-idea/local/lib/python2.7/site-packages/django/template/smartif.py
in __init__
mapped_tokens = []
i = 0
while i < l:
token = tokens[i]
if token == "not" and i + 1 < l and tokens[i + 1] == "in":
token = "not in"
i += 1 # skip 'in'
mapped_tokens.append(self.translate_token(token))...
i += 1
self.tokens = mapped_tokens
self.pos = 0
self.current_token = self.next_token()
Variable | Value |
---|---|
i | 2 |
self | <django.template.defaulttags.TemplateIfParser object at 0x7f58fd175150> |
l | 3 |
mapped_tokens | [(literal <django.template.base.FilterExpression object at 0x7f58fd151210>), (>)] |
tokens | [u'n.id', u'>', u'news_num|sub:forloop.counter'] |
token | u'news_num|sub:forloop.counter' |
/home/ubuntu/virtualenvs/k-idea/local/lib/python2.7/site-packages/django/template/smartif.py
in translate_token
self.pos = 0
self.current_token = self.next_token()
def translate_token(self, token):
try:
op = OPERATORS[token]
except (KeyError, TypeError):
return self.create_var(token)...
else:
return op()
def next_token(self):
if self.pos >= len(self.tokens):
return EndToken
Variable | Value |
---|---|
token | u'news_num|sub:forloop.counter' |
self | <django.template.defaulttags.TemplateIfParser object at 0x7f58fd175150> |
/home/ubuntu/virtualenvs/k-idea/local/lib/python2.7/site-packages/django/template/defaulttags.py
in create_var
error_class = TemplateSyntaxError
def __init__(self, parser, *args, **kwargs):
self.template_parser = parser
super(TemplateIfParser, self).__init__(*args, **kwargs)
def create_var(self, value):
return TemplateLiteral(self.template_parser.compile_filter(value), value)...
@register.tag('if')
def do_if(parser, token):
"""
The ``{% if %}`` tag evaluates a variable, and if that variable is "true"
Variable | Value |
---|---|
self | <django.template.defaulttags.TemplateIfParser object at 0x7f58fd175150> |
value | u'news_num|sub:forloop.counter' |
/home/ubuntu/virtualenvs/k-idea/local/lib/python2.7/site-packages/django/template/base.py
in compile_filter
self.tags.update(lib.tags)
self.filters.update(lib.filters)
def compile_filter(self, token):
"""
Convenient wrapper for FilterExpression
"""
return FilterExpression(token, self)...
def find_filter(self, filter_name):
if filter_name in self.filters:
return self.filters[filter_name]
else:
raise TemplateSyntaxError("Invalid filter: '%s'" % filter_name)
Variable | Value |
---|---|
token | u'news_num|sub:forloop.counter' |
self | <django.template.base.Parser object at 0x7f58fe5dc9d0> |
/home/ubuntu/virtualenvs/k-idea/local/lib/python2.7/site-packages/django/template/base.py
in __init__
filter_name = match.group("filter_name")
args = []
constant_arg, var_arg = match.group("constant_arg", "var_arg")
if constant_arg:
args.append((False, Variable(constant_arg).resolve({})))
elif var_arg:
args.append((True, Variable(var_arg)))
filter_func = parser.find_filter(filter_name)...
self.args_check(filter_name, filter_func, args)
filters.append((filter_func, args))
upto = match.end()
if upto != len(token):
raise TemplateSyntaxError("Could not parse the remainder: '%s' "
"from '%s'" % (token[upto:], token))
Variable | Value |
---|---|
upto | 8 |
args | [(True, <Variable: u'forloop.counter'>)] |
constant | None |
matches | <callable-iterator object at 0x7f58fd151350> |
var_obj | <Variable: u'news_num'> |
parser | <django.template.base.Parser object at 0x7f58fe5dc9d0> |
constant_arg | None |
start | 8 |
token | u'news_num|sub:forloop.counter' |
filters | [] |
filter_name | u'sub' |
var | u'news_num' |
var_arg | u'forloop.counter' |
self | <django.template.base.FilterExpression object at 0x7f58fd151310> |
match | <_sre.SRE_Match object at 0x7f58fe63caf8> |
/home/ubuntu/virtualenvs/k-idea/local/lib/python2.7/site-packages/django/template/base.py
in find_filter
"""
return FilterExpression(token, self)
def find_filter(self, filter_name):
if filter_name in self.filters:
return self.filters[filter_name]
else:
raise TemplateSyntaxError("Invalid filter: '%s'" % filter_name)...
class TokenParser(object):
"""
Subclass this and implement the top() method to parse a template line.
When instantiating the parser, pass in the line from the Django template
Variable | Value |
---|---|
self | <django.template.base.Parser object at 0x7f58fe5dc9d0> |
filter_name | u'sub' |
Variable | Value |
---|---|
page | u'66' |
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
wsgi.multiprocess | True |
uwsgi.version | '1.9.17.1-debian' |
SCRIPT_NAME | u'' |
REQUEST_METHOD | 'GET' |
PATH_INFO | u'/info-service/newsletter-eng/' |
SERVER_PROTOCOL | 'HTTP/1.1' |
QUERY_STRING | 'page=66' |
UWSGI_SCHEME | 'http' |
CONTENT_LENGTH | '' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_CONNECTION | 'keep-alive' |
SERVER_NAME | 'kgames.or.kr' |
REMOTE_ADDR | '172.31.3.11' |
wsgi.url_scheme | 'http' |
SERVER_PORT | '80' |
uwsgi.node | 'ip-172-31-27-203' |
DOCUMENT_ROOT | '/usr/share/nginx/html' |
HTTP_X_FORWARDED_PROTO | 'http' |
wsgi.input | <uwsgi._Input object at 0x7f58fde915a0> |
HTTP_HOST | 'www.kgames.or.kr' |
wsgi.multithread | False |
REQUEST_URI | '/info-service/newsletter-eng/?page=66' |
HTTP_ACCEPT | '*/*' |
wsgi.version | (1, 0) |
HTTP_X_FORWARDED_FOR | '3.232.108.171' |
wsgi.errors | <open file 'wsgi_errors', mode 'w' at 0x7f5900aef270> |
REMOTE_PORT | '44614' |
UWSGI_APPID | 'www.kgames.or.kr|' |
wsgi.run_once | False |
HTTP_X_FORWARDED_PORT | '80' |
CONTENT_TYPE | '' |
wsgi.file_wrapper | '' |
CSRF_COOKIE | u'telkBhh4mfRqSXeVcWPLXfFtNss9rekT' |
kidea.settings
Setting | Value |
---|---|
USE_L10N | True |
THUMBNAIL_PROCESSORS | ('easy_thumbnails.processors.colorspace', 'easy_thumbnails.processors.autocrop', 'filer.thumbnail_processors.scale_and_crop_with_subject_location', 'easy_thumbnails.processors.filters') |
USE_THOUSAND_SEPARATOR | False |
CSRF_COOKIE_SECURE | False |
LANGUAGE_CODE | 'ko-kr' |
ROOT_URLCONF | 'kidea.urls' |
MANAGERS | () |
BASE_DIR | '.' |
TEST_NON_SERIALIZED_APPS | [] |
DEFAULT_CHARSET | 'utf-8' |
MEDIAFILES_LOCATION | 'media' |
AWS_S3_CUSTOM_DOMAIN | 'k-idea-s.s3.amazonaws.com' |
STATIC_ROOT | '/home/ubuntu/k-idea.com/static_media/' |
CELERYBEAT_SCHEDULER | 'djcelery.schedulers.DatabaseScheduler' |
ALLOWED_HOSTS | ['*'] |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
WSGI_APPLICATION | 'kidea.wsgi.application' |
EMAIL_SUBJECT_PREFIX | '[Django] ' |
SEND_BROKEN_LINK_EMAILS | False |
CELERY_RESULT_SERIALIZER | 'json' |
STATICFILES_FINDERS | ('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder') |
SESSION_CACHE_ALIAS | 'default' |
SESSION_COOKIE_DOMAIN | None |
SESSION_COOKIE_NAME | 'sessionid' |
CSRF_COOKIE_NAME | 'csrftoken' |
AWS_STORAGE_BUCKET_NAME | 'k-idea-s' |
ADMIN_FOR | () |
TIME_INPUT_FORMATS | ('%H:%M:%S', '%H:%M:%S.%f', '%H:%M') |
DATABASES | {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'HOST': 'k-idea-seoul.c2pmg1klly8n.ap-northeast-2.rds.amazonaws.com', 'NAME': 'KIDEA_DB', 'OPTIONS': {}, 'PASSWORD': u'********************', 'PORT': '5432', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': 'UTC', 'USER': 'soma'}} |
FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
SUIT_CONFIG | {'ADMIN_NAME': 'KGAMES', 'CONFIRM_UNSAVED_CHANGES': True, 'HEADER_DATE_FORMAT': 'Y, F j\xec\x9d\xbc (l)', 'HEADER_TIME_FORMAT': 'H:i', 'LIST_PER_PAGE': 50, 'MENU': ('-', 'sites', {'app': 'auth', 'icon': 'icon-lock', 'label': 'Authorization'}, {'app': 'filer', 'icon': 'icon-picture', 'label': u'\uc774\ubbf8\uc9c0 \uc800\uc7a5\uc18c'}, {'app': 'djcelery', 'icon': 'icon-time', 'label': u'\uc2a4\ucf00\uc904\ub7ec'}, {'app': 'kideauser', 'icon': 'icon-user', 'label': u'K-iDEA \uae30\uc5c5\ud68c\uc6d0'}, '-', {'app': 'partner', 'icon': 'icon-tags', 'models': ('partner', 'applypartner')}, {'app': 'info_service', 'icon': 'icon-comment', 'models': ('noticeboardr', 'newsletter', 'reportboard', 'pressboard', 'eventboard', 'relatedboard', 'publicationboard', 'noticetag', 'newstag', 'reporttag', 'presstag', 'eventtag', 'relatedtag', 'publicationtag')}, {'app': 'regulation', 'icon': 'icon-tags', 'models': ('enforcementboard', 'bestcase', 'selffaq', 'monitoringboard', 'referenceboard', 'selfpressboard', 'enforcementtag', 'bestcasetag', 'selffaqtag', 'monitoringtag', 'referencetag', 'selfpresstag')}, {'app': 'recruit', 'icon': 'icon-tags', 'models': ('applyjunior', 'applysenior', 'krecruitboard', 'precruitboard')}, {'app': 'main', 'icon': 'icon-tags', 'models': ('indexbanner', 'leftbanner', 'memberbanner', 'relatedbanner', 'todayvisit', 'rankinfo', 'game')}), 'SEARCH_URL': '/admin/ar', 'SHOW_REQUIRED_ASTERISK': True} |
FILE_UPLOAD_PERMISSIONS | None |
FILE_UPLOAD_HANDLERS | ('django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler') |
DEFAULT_CONTENT_TYPE | 'text/html' |
APPEND_SLASH | True |
FIRST_DAY_OF_WEEK | 0 |
DATABASE_ROUTERS | [] |
DEFAULT_TABLESPACE | '' |
LOCAL_APPS | ('kideauser', 'main', 'biz', 'info_service', 'intro', 'partner', 'recruit', 'regulation') |
YEAR_MONTH_FORMAT | 'F Y' |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 'LOCATION': '203.236.219.222:11211'}} |
SERVER_EMAIL | 'root@localhost' |
SESSION_COOKIE_PATH | '/' |
SILENCED_SYSTEM_CHECKS | [] |
MIDDLEWARE_CLASSES | ('django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'kidea.middleware.MobileMiddleware') |
USE_I18N | True |
THOUSAND_SEPARATOR | ',' |
SECRET_KEY | u'********************' |
LANGUAGE_COOKIE_NAME | 'django_language' |
FILE_UPLOAD_TEMP_DIR | None |
TRANSACTIONS_MANAGED | False |
LOGGING_CONFIG | 'logging.config.dictConfig' |
TCP | ('django.contrib.auth.context_processors.auth', 'django.core.context_processors.debug', 'django.core.context_processors.i18n', 'django.core.context_processors.media', 'django.core.context_processors.static', 'django.core.context_processors.tz', 'django.contrib.messages.context_processors.messages') |
TEMPLATE_LOADERS | ('django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader') |
DESKTOP_TEMPLATE_DIRS | ('./templates',) |
TEMPLATE_DEBUG | False |
X_FRAME_OPTIONS | 'SAMEORIGIN' |
AWS_HEADERS | {'Cache-Control': 'max-age=94608000', 'Expires': 'Thu, 31 Dec 2099 20:00:00 GMT'} |
FORCE_SCRIPT_NAME | None |
USE_X_FORWARDED_HOST | False |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
SESSION_COOKIE_SECURE | False |
CSRF_COOKIE_DOMAIN | None |
FILE_CHARSET | 'utf-8' |
DEBUG | True |
LANGUAGE_COOKIE_DOMAIN | None |
AWS_ACCESS_KEY_ID | u'********************' |
DEFAULT_FILE_STORAGE | 'main.custom_storages.MediaStorage' |
INSTALLED_APPS | ('suit', 'filer', 'easy_thumbnails', 'django.contrib.admin', 'suit_ckeditor', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.humanize', 'mathfilters', 'djcelery', 'kombu.transport.django', 'import_export', 'endless_pagination', 'kideauser', 'main', 'biz', 'info_service', 'intro', 'partner', 'recruit', 'regulation') |
LANGUAGES_BIDI | ('he', 'ar', 'fa', 'ur') |
COMMENTS_ALLOW_PROFANITIES | False |
STATICFILES_DIRS | ('./static',) |
PREPEND_WWW | False |
SECURE_PROXY_SSL_HEADER | None |
LANGUAGE_COOKIE_AGE | None |
SESSION_COOKIE_HTTPONLY | True |
AWS_SECRET_ACCESS_KEY | u'********************' |
DEBUG_PROPAGATE_EXCEPTIONS | False |
CSRF_COOKIE_AGE | 31449600 |
MONTH_DAY_FORMAT | 'F j' |
LOGIN_URL | '/accounts/login/' |
SESSION_EXPIRE_AT_BROWSER_CLOSE | True |
TIME_FORMAT | 'P' |
AUTH_USER_MODEL | 'kideauser.KideaUser' |
DATE_INPUT_FORMATS | ('%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y') |
SESSION_SERIALIZER | 'django.contrib.sessions.serializers.PickleSerializer' |
AUTHENTICATION_BACKENDS | ('django.contrib.auth.backends.ModelBackend',) |
EMAIL_HOST_PASSWORD | u'********************' |
PASSWORD_RESET_TIMEOUT_DAYS | u'********************' |
SESSION_FILE_PATH | None |
CACHE_MIDDLEWARE_ALIAS | 'default' |
SESSION_SAVE_EVERY_REQUEST | False |
NUMBER_GROUPING | 0 |
SESSION_ENGINE | 'django.contrib.sessions.backends.db' |
CSRF_FAILURE_VIEW | 'django.views.csrf.csrf_failure' |
CSRF_COOKIE_PATH | '/' |
LOGIN_REDIRECT_URL | '/accounts/profile/' |
CELERY_TASK_SERIALIZER | 'json' |
DECIMAL_SEPARATOR | '.' |
IGNORABLE_404_URLS | () |
LOCALE_PATHS | () |
TEMPLATE_STRING_IF_INVALID | '' |
THUMBNAIL_HIGH_RESOLUTION | True |
LOGOUT_URL | '/accounts/logout/' |
EMAIL_USE_TLS | False |
FIXTURE_DIRS | () |
EMAIL_HOST | 'localhost' |
DATE_FORMAT | 'N j, Y' |
MODULE_APPS | ('mathfilters', 'djcelery', 'kombu.transport.django', 'import_export', 'endless_pagination') |
MEDIA_ROOT | '' |
MOBILE_TEMPLATE_DIRS | ('./templates_mobile', './templates') |
LANGUAGE_COOKIE_PATH | '/' |
DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
ADMINS | () |
FORMAT_MODULE_PATH | None |
DEFAULT_FROM_EMAIL | 'webmaster@localhost' |
MEDIA_URL | 'https://k-idea-s.s3.amazonaws.com/media/' |
DATETIME_FORMAT | 'N j, Y, P' |
TEMPLATE_DIRS | ('./templates',) |
CELERY_ACCEPT_CONTENT | ['json'] |
SITE_ID | 1 |
DISALLOWED_USER_AGENTS | () |
ALLOWED_INCLUDE_ROOTS | () |
LOGGING | {} |
SHORT_DATE_FORMAT | 'm/d/Y' |
TEST_RUNNER | 'django.test.runner.DiscoverRunner' |
CACHE_MIDDLEWARE_KEY_PREFIX | u'********************' |
TIME_ZONE | 'Asia/Seoul' |
FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
EMAIL_USE_SSL | False |
TEMPLATE_CONTEXT_PROCESSORS | ('django.contrib.auth.context_processors.auth', 'django.core.context_processors.debug', 'django.core.context_processors.i18n', 'django.core.context_processors.media', 'django.core.context_processors.static', 'django.core.context_processors.tz', 'django.contrib.messages.context_processors.messages', 'django.core.context_processors.request') |
MIGRATION_MODULES | {'filer': 'filer.migrations_django'} |
SESSION_COOKIE_AGE | 1209600 |
SETTINGS_MODULE | 'kidea.settings' |
USE_ETAGS | False |
LANGUAGES | (('af', 'Afrikaans'), ('ar', 'Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmal'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese'), ('zh-tw', 'Traditional Chinese')) |
DEFAULT_INDEX_TABLESPACE | '' |
INTERNAL_IPS | () |
STATIC_URL | '/static/' |
EMAIL_PORT | 25 |
USE_TZ | True |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
CELERY_RESULT_BACKEND | 'djcelery.backends.database:DatabaseBackend' |
PASSWORD_HASHERS | u'********************' |
ABSOLUTE_URL_OVERRIDES | {} |
DJANGO_APPS | ('django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.humanize') |
ADMIN_APPS | ('suit', 'filer', 'easy_thumbnails', 'django.contrib.admin', 'suit_ckeditor') |
CACHE_MIDDLEWARE_SECONDS | 600 |
CSRF_COOKIE_HTTPONLY | False |
DATETIME_INPUT_FORMATS | ('%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y') |
EMAIL_HOST_USER | '' |
PROFANITIES_LIST | u'********************' |
You're seeing this error because you have DEBUG = True
in your
Django settings file. Change that to False
, and Django will
display a standard 500 page.