使我的代码在阅读和性能上更好

2024-04-27 02:58:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个pythondjango代码,我想让它在阅读和性能上更好,因为我想把它添加到我的副项目中,我是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')

Tags: djangofromimportipbrowserurlforget
1条回答
网友
1楼 · 发布于 2024-04-27 02:58:07
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')

相关问题 更多 >