各国で異なる広告を表示しようとしています。たとえば、スペインは Adsense を表示し、CO はyieldmanager を表示します。
私の見解とテンプレート:
from django.contrib.gis.geoip import GeoIP
class VideoViewDetail(DetailView):
model = Video
def get_object(self):
return get_object_or_404(Video, slug__exact=self.kwargs['slug'])
def get_context_data(self, **kwargs):
context = super(VideoViewDetail, self).get_context_data(**kwargs)
g = GeoIP()
ip = self.request.META.get('REMOTE_ADDR')
country = g.country('ip')
context['country_name'] = country
return context
template
{% for video in objectc_list %}
{{ video.name }} | {{ video.genre.name }}
{% if country_name == 'ES' %}
**code here ads**
{% else %}
{% if country_name == 'CO' %}
**code here ads**
{% else %}
{% if country_name == 'MX' %}
**code here ads**
{% else %}
** nothing **
{% endif %}
私がうまくいかない何かが間違っています。助けていただければ幸いです。
ありがとう。