Added ip view
This commit is contained in:
parent
d9004280f6
commit
e7af71646b
3 changed files with 18 additions and 1 deletions
|
|
@ -9,4 +9,5 @@ router.register(r'fingerprint', views.FingerprintView, 'fingerprint')
|
|||
urlpatterns = [
|
||||
path('admin/', admin.site.urls),
|
||||
path('', include(router.urls)),
|
||||
path('', include('vytal.urls')),
|
||||
]
|
||||
|
|
|
|||
6
backend/vytal/urls.py
Normal file
6
backend/vytal/urls.py
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
from django.urls import path
|
||||
from . import views
|
||||
|
||||
urlpatterns = [
|
||||
path('ip/', views.IPView, name='ip'),
|
||||
]
|
||||
|
|
@ -1,8 +1,11 @@
|
|||
from django.shortcuts import render
|
||||
from rest_framework import viewsets
|
||||
from .serializers import FingerprintSerializer
|
||||
from .models import Fingerprint
|
||||
from django_filters.rest_framework import DjangoFilterBackend
|
||||
from django.http import JsonResponse
|
||||
from ipware import get_client_ip
|
||||
import urllib.request
|
||||
import json
|
||||
|
||||
# Create your views here.
|
||||
|
||||
|
|
@ -12,3 +15,10 @@ class FingerprintView(viewsets.ModelViewSet):
|
|||
queryset = Fingerprint.objects.all()
|
||||
filter_backends = [DjangoFilterBackend]
|
||||
filterset_fields = ['hash']
|
||||
|
||||
|
||||
def IPView(request):
|
||||
ip = get_client_ip(request)
|
||||
with urllib.request.urlopen("http://ip-api.com/json/" + ip[0]) as url:
|
||||
data = json.loads(url.read().decode())
|
||||
return JsonResponse(data)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue