def render(self, context): pager = self.pager.resolve(context) url_name = self.url_name.resolve(context) url_args = [url_arg.resolve(context) for url_arg in self.url_args] next_index = pager['current'].next_page_number() \ if pager['current'].has_next() else None prev_index = pager['current'].previous_page_number() \ if pager['current'].has_previous() else None try: replace_index = url_args.index('#PAGE#') except ValueError: replace_index = len(url_args) url_args.append('#PAGE#') pages = [] next_url = None prev_url = None for index in pager['navigator']: url_args[replace_index] = index # URL生成 device = get_current_device() request = get_current_request() reversed_url = reverse(url_name, args=url_args) if request and not device.is_featurephone: url = opensocial_session_url_convert(reversed_url, request) else: url = opensocial_url_convert(reversed_url) pages.append({ 'index': index, 'url': url, }) if next_index == index: next_url = url elif prev_index == index: prev_url = url pager_context = template.Context({ 'pager': pager, 'pages': pages, 'current_index': pager['current'].number, 'next_url': next_url, 'next_index': next_index, 'prev_url': prev_url, 'prev_index': prev_index, }) pager_template = template.loader.get_template(self.template_name) rendered_html = pager_template.render(pager_context) return rendered_html
def url(self): return opensocial_session_url_convert( '/debug_image/{}/'.format(self.dummy_key))