اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

يمكنك عمل ذالك من خلال مكتبة django-geolocation هذه المكتبة تتيح لك الوصول إلى بيانات الموقع الحالي للمستخدم

ويمكن تثبيتها من خلال الامر

pip install django-geolocation

ثم تستطيع تحديد موقع المستخدم  وارسال الموقع الي الخرائط ليتم عرضها علي الخريطة

from django.contrib.gis.geos import Point
from geolocation.middleware import GeolocationMiddleware

class MyView(View):
    def get(self, request):
        # الحصول على موقع المستخدم الحالي
        location = GeolocationMiddleware.get_location(request)

        # إنشاء نقطة من موقع المستخدم الحالي
        point = Point(location['lat'], location['lon'])

        # إرسال الموقع الحالي إلى الخرائط
        return render(request, 'my_view.html', {
            'location': point,
        })

 

  • 0
نشر
بتاريخ 20 ساعة قال اسماء محمد10:

يمكنك عمل ذالك من خلال مكتبة django-geolocation هذه المكتبة تتيح لك الوصول إلى بيانات الموقع الحالي للمستخدم

ويمكن تثبيتها من خلال الامر

pip install django-geolocation

ثم تستطيع تحديد موقع المستخدم  وارسال الموقع الي الخرائط ليتم عرضها علي الخريطة

from django.contrib.gis.geos import Point
from geolocation.middleware import GeolocationMiddleware

class MyView(View):
    def get(self, request):
        # الحصول على موقع المستخدم الحالي
        location = GeolocationMiddleware.get_location(request)

        # إنشاء نقطة من موقع المستخدم الحالي
        point = Point(location['lat'], location['lon'])

        # إرسال الموقع الحالي إلى الخرائط
        return render(request, 'my_view.html', {
            'location': point,
        })

 

ممكن توضيح اكثر لو تكرمتى 

ما اود فعله هو عمل استماره عندالضغط عليها يقو المستخدم بتحديد موقعه على الخرائط 

  • 0
نشر
بتاريخ منذ ساعة مضت قال Muhammed Teleb:

ممكن توضيح اكثر لو تكرمتى 

ما اود فعله هو عمل استماره عندالضغط عليها يقو المستخدم بتحديد موقعه على الخرائط 

بعد تثبيت المكتبة يمكن عمل استماره لتحديد موقع المستخدم من خلال انشاء نموذج الاستمارة :

from django.forms import ModelForm
from django_geoposition.forms import GeopositionFormField

class LocationForm(ModelForm):
  
    position = GeopositionFormField()

    class Meta:
        model = User
        fields = ['...', 'position']

وانشاء نموزج للعرض

from django.shortcuts import render, redirect
from django.contrib.auth.models import User
from django.contrib.auth.forms import AuthenticationForm
from django.contrib.auth import login, logout
from .forms import LocationForm

def index(request):
    # ...

    if request.method == 'POST':
        form = LocationForm(request.POST, request.FILES)
        if form.is_valid():
            # Save the user's location
            form.save()

            # Redirect to the home page
            return redirect('index')
    else:
        form = LocationForm()

    context = {
        'form': form,
    }

    return render(request, 'index.html', context)

ثم نضيف استمارة في صفحة html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Location</title>
</head>
<body>
    <h1>Location</h1>

    <form action="{% url 'index' %}" method="POST">
        {% csrf_token %}

        {% for field in form %}
            {{ field.errors }}
            {{ field.label_tag }}
            {{ field }}
        {% endfor %}

        <input type="submit" value="Submit">
    </form>
</body>
</html>

فيما يلي شرح لكيفية عمل الاستمارة:

عندما ينقر المستخدم على الزر Submit، يتم إرسال البيانات من الاستمارة إلى نموذج العرض.

ثم يقوم نموذج العرض بمعالجة البيانات والتحقق من صحتها.

وإذا كانت البيانات صحيحة، يقوم نموذج العرض بحفظ موقع المستخدم في قاعدة البيانات.

ثم يقوم نموذج العرض بإعادة توجيه المستخدم إلى الصفحة الرئيسية.

  • 0
نشر
بتاريخ 34 دقائق مضت قال اسماء محمد10:

بعد تثبيت المكتبة يمكن عمل استماره لتحديد موقع المستخدم من خلال انشاء نموذج الاستمارة :

from django.forms import ModelForm
from django_geoposition.forms import GeopositionFormField

class LocationForm(ModelForm):
  
    position = GeopositionFormField()

    class Meta:
        model = User
        fields = ['...', 'position']

وانشاء نموزج للعرض

from django.shortcuts import render, redirect
from django.contrib.auth.models import User
from django.contrib.auth.forms import AuthenticationForm
from django.contrib.auth import login, logout
from .forms import LocationForm

def index(request):
    # ...

    if request.method == 'POST':
        form = LocationForm(request.POST, request.FILES)
        if form.is_valid():
            # Save the user's location
            form.save()

            # Redirect to the home page
            return redirect('index')
    else:
        form = LocationForm()

    context = {
        'form': form,
    }

    return render(request, 'index.html', context)

ثم نضيف استمارة في صفحة html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Location</title>
</head>
<body>
    <h1>Location</h1>

    <form action="{% url 'index' %}" method="POST">
        {% csrf_token %}

        {% for field in form %}
            {{ field.errors }}
            {{ field.label_tag }}
            {{ field }}
        {% endfor %}

        <input type="submit" value="Submit">
    </form>
</body>
</html>

فيما يلي شرح لكيفية عمل الاستمارة:

عندما ينقر المستخدم على الزر Submit، يتم إرسال البيانات من الاستمارة إلى نموذج العرض.

ثم يقوم نموذج العرض بمعالجة البيانات والتحقق من صحتها.

وإذا كانت البيانات صحيحة، يقوم نموذج العرض بحفظ موقع المستخدم في قاعدة البيانات.

ثم يقوم نموذج العرض بإعادة توجيه المستخدم إلى الصفحة الرئيسية.

django_geoposition.forms 

لم يتم التعرف عليها فى المحرر وايضا User

,وهل يجب عليا ان انشا  modle  معين

  • 0
نشر
بتاريخ 7 دقائق مضت قال اسماء محمد10:

تاكد من اضافة مكتبة django-geolocation  واضافةGOOGLE_MAPS_API_KEY في ملف settings.py الخاص بمشروعك

اذن عليا اضافه مكتبه django-geolocation  الى  installapps تمام 

المشكله ان مش قادر احصل على API free   والاسعار غاليه جدا 

مفيش طريقه اخري تكون مجانيه  

  • 0
نشر
بتاريخ 22 ساعة قال اسماء محمد10:

يمكنك البحث عن API مجاني اذا كان الاستخدام شخصي لاكن اذا كان تجاري فيجب دفع رسوم مقابل الاستخدام

 

من فضلك ممكن تفتحى موقع طلبات الشهير 

ما اود فعله هو خاصيه ارسال موقع العميل الى المحل 

image.thumb.png.b1fee28e7cf527ceecdff23bb1b97393.png

  • 0
نشر
بتاريخ 1 دقيقة مضت قال Muhammed Teleb:

بيكون نفس الكود 

 

 

اذا كان الموقع تم برمجته باستخدم بايثون سوف يكون نفس الكود

لاكن اذا كان يستخدم لغة برمجة اخري سوف يختلف الكود لاكن الثابت هو API_KEY الخاص بالخرائط

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...