# -*- coding: utf-8 -*- import json from django.http import HttpResponse from django.shortcuts import redirect, get_object_or_404 from .models import Banner, BannerGroup def click(request, banner_id, key): banner = get_object_or_404(Banner, pk=banner_id) banner.log(request, 2, key) return redirect(banner.url) def view(request, banner_id, key): banner = get_object_or_404(Banner, pk=banner_id) banner.log(request, 1, key) return redirect(banner.img.url) def get_client_ip(request): x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR') if x_forwarded_for: ip = x_forwarded_for.split(',')[0] else: ip = request.META.get('REMOTE_ADDR') return ip def get_banners(request): url = request.GET.get('url', '/') theme = request.GET.get('theme') country = request.GET.get('country') city = request.GET.get('city') tag = request.GET.get('tag') ip = get_client_ip(request) params = {'url': url, 'theme': theme, 'tag': tag, 'country': country, 'city': city, 'ip': ip} b = Banner.objects.get(id=1) result = [{'url': b.url, 'id': 'expo_b_%d'%b.id, 'is_html': b.html, 'is_flash': b.flash, 'is_img': True, 'html': b.text, 'img': b.img.url}] return HttpResponse(json.dumps(result, indent=4), content_type='application/json')