├── db.sqlite3 ├── geolocation ├── __init__.py ├── __pycache__ │ ├── urls.cpython-37.pyc │ ├── wsgi.cpython-37.pyc │ ├── __init__.cpython-37.pyc │ └── settings.cpython-37.pyc ├── asgi.py ├── wsgi.py ├── urls.py └── settings.py ├── location ├── __init__.py ├── migrations │ ├── __init__.py │ └── __pycache__ │ │ └── __init__.cpython-37.pyc ├── models.py ├── admin.py ├── tests.py ├── apps.py ├── urls.py ├── __pycache__ │ ├── admin.cpython-37.pyc │ ├── urls.cpython-37.pyc │ ├── views.cpython-37.pyc │ ├── __init__.cpython-37.pyc │ └── models.cpython-37.pyc └── views.py ├── requirements.txt ├── .qovery.yml ├── Dockerfile ├── manage.py └── templates └── index.html /db.sqlite3: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /geolocation/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /location/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /location/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | Django==3.0.5 2 | requests==2.24.0 3 | -------------------------------------------------------------------------------- /location/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | 3 | # Create your models here. 4 | -------------------------------------------------------------------------------- /location/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /location/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /location/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class LocationConfig(AppConfig): 5 | name = 'location' 6 | -------------------------------------------------------------------------------- /location/urls.py: -------------------------------------------------------------------------------- 1 | from django.urls import path 2 | from . import views 3 | 4 | urlpatterns = [ 5 | path('', views.index, name='index') 6 | ] -------------------------------------------------------------------------------- /location/__pycache__/admin.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomitokko/simple_geolocation_app_with_django/HEAD/location/__pycache__/admin.cpython-37.pyc -------------------------------------------------------------------------------- /location/__pycache__/urls.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomitokko/simple_geolocation_app_with_django/HEAD/location/__pycache__/urls.cpython-37.pyc -------------------------------------------------------------------------------- /location/__pycache__/views.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomitokko/simple_geolocation_app_with_django/HEAD/location/__pycache__/views.cpython-37.pyc -------------------------------------------------------------------------------- /geolocation/__pycache__/urls.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomitokko/simple_geolocation_app_with_django/HEAD/geolocation/__pycache__/urls.cpython-37.pyc -------------------------------------------------------------------------------- /geolocation/__pycache__/wsgi.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomitokko/simple_geolocation_app_with_django/HEAD/geolocation/__pycache__/wsgi.cpython-37.pyc -------------------------------------------------------------------------------- /location/__pycache__/__init__.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomitokko/simple_geolocation_app_with_django/HEAD/location/__pycache__/__init__.cpython-37.pyc -------------------------------------------------------------------------------- /location/__pycache__/models.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomitokko/simple_geolocation_app_with_django/HEAD/location/__pycache__/models.cpython-37.pyc -------------------------------------------------------------------------------- /geolocation/__pycache__/__init__.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomitokko/simple_geolocation_app_with_django/HEAD/geolocation/__pycache__/__init__.cpython-37.pyc -------------------------------------------------------------------------------- /geolocation/__pycache__/settings.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomitokko/simple_geolocation_app_with_django/HEAD/geolocation/__pycache__/settings.cpython-37.pyc -------------------------------------------------------------------------------- /location/migrations/__pycache__/__init__.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tomitokko/simple_geolocation_app_with_django/HEAD/location/migrations/__pycache__/__init__.cpython-37.pyc -------------------------------------------------------------------------------- /.qovery.yml: -------------------------------------------------------------------------------- 1 | --- 2 | application: 3 | name: "geolocation" 4 | project: "weather_detector" 5 | organization: "QoveryCommunity" 6 | routers: 7 | - name: "main-geolocation" 8 | routes: 9 | - application_name: "geolocation" 10 | paths: 11 | - "/*" 12 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:3.8 2 | ENV PYTHONUNBUFFERED 1 3 | RUN mkdir -p /app 4 | WORKDIR /app 5 | COPY requirements.txt /app/requirements.txt 6 | RUN pip install -r requirements.txt 7 | COPY . /app 8 | 9 | CMD python manage.py runserver 0.0.0.0:8000 10 | EXPOSE 8000 11 | -------------------------------------------------------------------------------- /location/views.py: -------------------------------------------------------------------------------- 1 | from django.shortcuts import render 2 | import requests 3 | import json 4 | 5 | # Create your views here. 6 | def index(request): 7 | ip = requests.get('https://api.ipify.org?format=json') 8 | ip_data = json.loads(ip.text) 9 | res = requests.get('http://ip-api.com/json/24.48.0.1') 10 | location_data_one = res.text 11 | location_data = json.loads(location_data_one) 12 | return render(request, 'index.html', {'data': location_data}) -------------------------------------------------------------------------------- /geolocation/asgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | ASGI config for geolocation project. 3 | 4 | It exposes the ASGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/3.1/howto/deployment/asgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.asgi import get_asgi_application 13 | 14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'geolocation.settings') 15 | 16 | application = get_asgi_application() 17 | -------------------------------------------------------------------------------- /geolocation/wsgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | WSGI config for geolocation project. 3 | 4 | It exposes the WSGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/3.1/howto/deployment/wsgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.wsgi import get_wsgi_application 13 | 14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'geolocation.settings') 15 | 16 | application = get_wsgi_application() 17 | -------------------------------------------------------------------------------- /manage.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | """Django's command-line utility for administrative tasks.""" 3 | import os 4 | import sys 5 | 6 | 7 | def main(): 8 | """Run administrative tasks.""" 9 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'geolocation.settings') 10 | try: 11 | from django.core.management import execute_from_command_line 12 | except ImportError as exc: 13 | raise ImportError( 14 | "Couldn't import Django. Are you sure it's installed and " 15 | "available on your PYTHONPATH environment variable? Did you " 16 | "forget to activate a virtual environment?" 17 | ) from exc 18 | execute_from_command_line(sys.argv) 19 | 20 | 21 | if __name__ == '__main__': 22 | main() 23 | -------------------------------------------------------------------------------- /geolocation/urls.py: -------------------------------------------------------------------------------- 1 | """geolocation URL Configuration 2 | 3 | The `urlpatterns` list routes URLs to views. For more information please see: 4 | https://docs.djangoproject.com/en/3.1/topics/http/urls/ 5 | Examples: 6 | Function views 7 | 1. Add an import: from my_app import views 8 | 2. Add a URL to urlpatterns: path('', views.home, name='home') 9 | Class-based views 10 | 1. Add an import: from other_app.views import Home 11 | 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') 12 | Including another URLconf 13 | 1. Import the include() function: from django.urls import include, path 14 | 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) 15 | """ 16 | from django.contrib import admin 17 | from django.urls import path, include 18 | 19 | urlpatterns = [ 20 | path('admin/', admin.site.urls), 21 | path('', include('location.urls')) 22 | ] 23 | -------------------------------------------------------------------------------- /templates/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 |71 |
81 |