Делая мой код лучше в чтении и в производительности - PullRequest
0 голосов
/ 21 декабря 2018

У меня есть код Python Django, и я хочу улучшить его в чтении и в производительности, так как я хочу добавить его в свои побочные проекты, и я новичок в Python и Django.Может кто-нибудь, пожалуйста, помогите мне

from django.views import View
from django.http import HttpResponse
from django.contrib.gis.geoip2 import GeoIP2
from .models import Victims, Url

g = GeoIP2()

def Get_Ip(request):

    x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
    if x_forwarded_for:
        ip = x_forwarded_for.split(',')[-1].strip()
    else:
        ip = request.META.get('REMOTE_ADDR')

    return ip

def Get_Country(request):
    ip = Get_Ip(request)
    country = g.country('31.13.75.36')

    return country

def Get_Browser(request):
    browser = request.META['HTTP_USER_AGENT']

    return browser

def save_vistor_data(request, slug):
    ip = Get_Ip(request)
    country = Get_Country(request)
    browser = Get_Browser(request)

    _url = Url()
    url = Url.objects.get(slug=slug)

    victim = Victims(_url=url, ip_address=ip, country=country, browser=browser)
    victim.save()

    return HttpResponse('Done')

1 Ответ

0 голосов
/ 22 декабря 2018
g = GeoIP2()
IP = '31.13.75.36'

def get_Ip(request):
    """Get IP.

    Notes:
        This function retrieves/gets IP's.

    Args:
        request:

    Returns:
        some object.

    Raises:
        ConnectionError.


    """
    x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
    try:
        ip = x_forwarded_for.split(',')[-1].strip()
    except Exception:
        ip = request.META.get('REMOTE_ADDR')
    return ip


def get_country(request):
    """Get country.

    """

    ip = Get_Ip(request)
    country = g.country(IP)
    return country

def get_browser(request):
    """Get Browser

    Notes:
        What should we know about this function.
        That is not already obvious.

    Args:
        request (type)

    Raises:

    Returns:

    """
    browser = request.META['HTTP_USER_AGENT']
    return browser

def save_vistor_data(request, slug):
    """Save visitor data to ...

    Notes:
        Where is the visitor data going?


    Args:
        request ():
        slug ():

    Returns:

    """
    ip = Get_Ip(request)
    country = Get_Country(request)
    browser = Get_Browser(request)

    _url = Url()
    url = Url.objects.get(slug=slug)

    victim = Victims(
        _url=url,
        ip_address=ip,
        country=country,
        browser=browser
    )

    victim.save()

    return HttpResponse('Done')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...