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

django

Muhammed Teleb

السؤال

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
بتاريخ 1 دقيقة مضت قال Muhammed Teleb:

django_geoposition.forms 

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

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

هل قمت بتثبيت المكتبة ؟

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

هل قمت بتثبيت المكتبة ؟

 

نعم ثبت مكتبه pip install django-geolocation

وعند تثبيت مكتبه django_geoposition

تظهر لى django- geoposition بالداش وايضا تعضى انها مثبته بالفعل

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 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
بتاريخ 9 دقائق مضت قال Muhammed Teleb:

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

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

image.thumb.png.b1fee28e7cf527ceecdff23bb1b97393.png

في موقع طلبات والمواقع المشابه لها تستخدم API_KEY مدفوع من جوجل

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...