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

Mohssen A Mohssen

الأعضاء
  • المساهمات

    317
  • تاريخ الانضمام

  • تاريخ آخر زيارة

أجوبة بواسطة Mohssen A Mohssen

  1. لدي قائمة أقوم بالمرور عليها بالشكل التالي:

    users = ['user A', 'user B', 'user C']
    for user in users:
    	print(user)
        
    """
    user A
    user B
    user C
    """

    كل شيء يعمل على ما يرام، ولكن أريد أن أقوم بإضافة ترقيم بجانب اسم كل مستخدم عند طباعته:

    """
    Output:
    
    1- user A
    2- user B
    3- user C
    """

    فكرت في عمل متغير خارج الحلقة باسم counter وزيادته في كل دورة:

    counter = 0
    users = ['user A', 'user B', 'user C']
    for user in users:
      counter += 1
      print(f"{counter}- {user}")
        
    """
    1- user A
    2- user B
    3- user C
    """

    لكن لا أعتقد أن هذه أفضل طريقة لتحقيق هذا الأمر، هل توجد طريقة أفضل للحصول على رقم الدروة في حلقة for؟

    • أعجبني 1
  2. أعمل على مشروع مبني بإستخدام next.js وأريد أن أقوم بإستخدام بعض الخواص والتوابع الموجود في الكائن window مثل innerHeight، ولكن عندما أحاول أن أقوم بإستعمال الكائن window بالشكل التالي:

    console.log('window.innerHeight', window.innerHeight);

    يظهر لي الخطأ التالي:

    Window is not defined

    لماذا يحدث هذا الأمر؟ أليس الكائن window موجود في المتصفح بالفعل؟

    • أعجبني 1
  3. لدي قائمتين بالشكل التالي:

    >>> a
    [[0, 1], [2, 3], [4, 5]]
    >>> b
    [[4, 5], [6, 7], [8, 9]]
    >>>

    أريد أن أحصل على كل العناصر الموجودة في القائمة الأولى والموجودة في القائمة الثانية كذلك (العناصر المشتركة)

    كيف يمكنني المقارنة بين عناصر القائمتين والحصول على العناصر المشتركة بينها؟

    أي أنه يجب أن يتم إعادة [4, 5] (الأرقام المكررة بينهما)، فكرت في أن أحول القائمتين إلى شكل أبسطك أولًا ثم أقارن بينهما، ولكن لم أتمكن من المقارنة بينهما كذلك

    >>> a
    [0, 1, 2, 3, 4, 5]
    >>> b
    [4, 5, 6, 7, 8, 9]
    >>>
  4. ما هي الطريقة الموصى بها لملء قيمة رقمية بأصفار صفرية في JavaScript؟ على سبيل المثال إن كان لدي الرقم 43 فأريد أن يتم إضافة صفرين إلى اليسار ليصبح 0043 

    هل توجد دالة مخصصة لتركيب الأصفار على قيمة رقمية؟ أم يجب كتابة دالة تقوم بهذا الأمر؟

    • أعجبني 1
  5. أحاول الحصول على معرفات فريدة للكائنات في جانغو Django وأستخدم الحقل UUIDField. لست متأكدًا من طريقة عمل هذا الحقل لإنشاء معرفات فريدة لكل كائن في النموذج Model، ولكن حاولت إستخدام الكود التالي

    # أستخدم الحزمة uuid هنا
    import uuid
    from django.db import models
    
    class MyModel(models.Model):
      # قمت بعمل الحقل primary_key
        id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    
    class User(models.Model):
        # ...
        unique_id = MyModel()

    المشكلة الآن أنه في كل مرة أحصل على نفس المعرف بالضبط. فمثلا:

    my_user = User.objects.get(...)
    id = my_user.unique_id.id

    ما هو الخطأ هنا، وكيف أصلح هذا الأمر؟

  6. أحاول أن أقوم بإنشاء موقع حيث يمكن للمستخدمين اختيار مجموعة من الصور وتنزيلها كأرشيف ZIP مضغوط. كيف أقوم بهذا الأمر في جانغو Django؟

    أعتقد كذلك أن إنشاء مثل هذه الملفات لكل طلب request قد يؤدي إلى إبطاء الموقع، هل هذا الأمر صحيح؟ وهل يوجد حل لهذه المشكلة إن كان بالفعل سيسبب مشكلة في سرعة الموقع؟

     

  7. أحاول أن أقوم بعمل إستمار Form في  جانغو Django وتحتوي هذه الإستمارة على حقل لإدخال كلمة المرور، حاولت أن أستخدم CharField وتمرير له widget بإستخدام forms.PasswordInput ولكن لم يعمل هذا الأمر:

    from django import forms
    
    class UserForm(ModelForm):
        password = forms.CharField(widget=forms.PasswordInput)
        
        class Meta:
            model = User

    لا أعرف سبب المشكلة هنا، يبدو الكود صحيحًا.

    ما المشكلة هنا؟ وهل توجد طريقة أخرى لعمل حقل لإدخال كلمة مرور Password في جانغو Django؟

    • أعجبني 1
  8. أرغب في اتباع نمط RESTful لمشروع جانغو Django جديد، وأريد أن أعرف مكان بيانات الطلب عند إجراء طلب من نوع PUT / DELETE

    حاول التحقق من نوع الطلب والوصول إلى بيانات الطلب بالشكل التالي:

    if request.method == "PUT":
        someparam = request.PUT["description"]

    لكن يبدو أن هذه الطريقة غير صحيحة.

    قرأت أنه يمكن إستعمال الكائن QueryDict لحل هذه المشكلة، ولكن لا أعرف كيف أقوم بذلك بالضبط؟

    • أعجبني 1
  9. هل يوجد فرق بين الإستعلام التالي:

    queryset = Model.objects.filter(field=None)

    وهذا الكود:

    queryset = Model.objects.filter(field__isnull=True)

    أرى أن الكود الثاني أوضح ومفهوم أكثر، ولكن أخشى أن يكون بينهما فرق في التنفيذ مما يؤثر على سرعة الموقع أو يؤدي إلى نتائج مختلفة في المستقبل، لذلك أريد أن أعرف هل بينهما أي فروقات في جانغو Django؟

  10. أقوم بإنشاء عدد قليل من المستخدمين بشكل افتراضي في الملف fixtures/initial_data.json الخاص بي حتى يكون لدي بعض "المستخدمين" لإستعمالهم في الاختبار Testing. المشكلة التي أواجهها الآن هي إنشاء كلمة المرور عشوائية لكل مستخدم. بالتأكيد يمكنني تعيين كلمة المرور ثابتة في الملف نفسه، لكن ذلك لن يؤدي إلى إنشاء كلمة مرور بسيطة وظاهرة للعيان:

    [
        { "model": "auth.user",
            "pk": 1,
            "fields": {
                "username": "firstuser",
                "password": "random password"
            }
        }
    ]

    هل توجد طريقة لتوليد كلمة مرور عشوائية ومعماه Hashed بطريقة سهلة في جانغو Django؟

    • أعجبني 1
  11. جانغو Django يحتوي superuser، و staff، و admin

    المستخدم superuser وstaff موجودون في django.contib.auth.models.UserManager. كما يمكن إستخدام أمر createuperuser الموجود في django-admin.

    ما هو الفرق بين كل أنواع المستخدمين في جانغو Django؟

     

  12. كيف يمكنني معرفة ما إذا كان يتم استدعاء أحد العروض Views في بيئة اختبار Test Mode؟

    أفكر في تطبيق هذا الكود، ولكن المشكلة أني لا أعرف كيف أقوم بذلك بشكل صحيح في جانغو Django:

    TEST_ENVIRONMENT = is_test_mode()	# كيف أقوم بتطبيق هذه الدالة هنا
    
    def my_view(request):
        if not TEST_ENVIRONMENT:
            # ...

     

    • أعجبني 1
  13. لدي مشروع جانغو Django وأريد أن أقوم برفعه على مستودع عام في github ليصبح مشروع مفتوح المصدر. وأريد أن يكون التثبيت سهلاً قدر الإمكان (عندما أنقل المشروع إلى أحد الخوادم أو يقوم شخض آخر بتجربة المشروع)، لذلك أقوم بتضمين المشروع بالكامل ، وليس فقط التطبيقات الموجودة ضمن المشروع. هذا يعني أنه سيتم تضمين ملف settings.py أيضًا.

    ولكن بهذه الطريقة ستكون قيمة settings.SECRET_KEY هي نفسها في كل مرة يتم فيها تثبيت المشروع، هل توجد طريقة لجعل هذه القيمة تصبح عشوائية في كل مشرة يتم تثبيت المشروع فيها؟

  14. لدي نموذج Model بالشكل التالي:

    class Clients(models.Model):
        first_name = models.CharField(max_length=199)
        last_name = models.CharField(max_length=199)

    كيف يمكنني إضافة حقل آخر تكون قيمته دائمًا عبارة عن مجموع الحقلين Full_name على سبيل المثال؟ بحيث يمكنني إستخدام الخاصية full_name للحصول على اسم العميل الكامل مباشرة

  15. قمت بعمل إستمارة form وقمت بكتابة الكود التالي للحصول على معلومات عن الملف:

    file = request.FILES['filename']

    الآن يمكنني الحصول على اسم الملف وحجمه، ولكن لا أعرف كيف أحصل على نوع الملف MIME type، ما هي الطريقة التي يجب إستخدامها لمعرفة نوع الملف في جانغو Django؟

    • أعجبني 1
  16. عندما أقوم بعمل تغيرات في أحد النماذج، أريد أن أرى جملة SQL التي سيقوم جانفو Django بتنفيذها قبل أن يتم تشغيلها لاعرف التغيرات التي ستتم على قاعدة البيانات.

    أعلم أنه يمكن تنفيذ الأمر makemigrations لعمل ملف تهجير migration وبعد ذلك أستخدم الأمر sqlmigrate لتشغيل هذا الملف وستعرف حينها شكل SQL، ولكن أليس هناك طريقة مباشرة أكثر واسرع من هذا لعرض جملة SQL؟

  17. لدي نموذج Model يحتوي على عدد من الحقول بالشكل التالي:

    Class MyModel(models.Model):
        f1 = models.CharField(max_length=199)
        f2 = models.CharField(max_length=199)
        f3 = models.CharField(max_length=199)
        
        # ...

    الآن أقوم بعمل نسخة instance من هذا النموذج Model وأريد أن أعدل على قيمة أكثر من حقل دفعة واحدة، مع العلم أن لدي قاموس dictionary يحتوي على اسم كل حقل والقيمة الجديدة الخاصة بهذا الحقل:

    values = {
      "f1": "new value for f1",
      "f2": "new value for f2",
      "f3": "new value for f3"
    }

    هل توجد طريقة لتحديث قيمة أكثر من حقل من خلال إستخدام القاموس السابق في جانغو Djangoِ؟

    • أعجبني 1
  18. لدي حقل DateTimeField في نموذج Model خاص بي. وأريد عرضه في الموقع كمربع الاختيار checkbox في Django Admin. للقيام بذلك، قمت بإنشاء custom widget. ولكن لا أعرف كيفية استخدامه مع هذا الحقل فقط.

    في توثيق جانغو Django وجدت أنه تم شرح أمر مشابه:

    # مثال من توثيق جانغو الرسمي
    class MyModelAdmin(admin.ModelAdmin):
        formfield_overrides = {
            models.TextField: {'widget': RichTextEditorWidget},
        }

    لكن هذه الطريقة تقوم بعمل custom widget لكل الحقول في النموذج.

    كيف أقوم بإستخدام custom widget لحقل واحد فقط في جانغو Django؟

    • أعجبني 1
  19. لدي مشروع جانغو Django يُعيد الرمز 301 عند محاولة طلب صفحة من خلال CURL في سطر الأوامر:

    $ curl -I http://example.com
    HTTP/1.1 301 MOVED PERMANENTLY
    Date: Fri, 24 Jun 2022 17:21:44 GMT
    Server: Apache/2.4.43 (Win32) mod_wsgi/2.5 Python/3.6.14 PHP/8.1.7
    Location: http://example.com
    Content-Type: text/html; charset=utf-8

    ما سبب هذه النتيجة، مع العلم أن المشروع يعمل في المتصفح بدون مشكلة

    كيف أقوم بإصلاح المشكلة في جانغو Django؟

    • أعجبني 1
  20. أقوم في المشروع الخاص بي بإضافة المزخرف decorator المسمى login_required بالشكل التالي:

    @login_required
    def myview():
        # ...
        pass

    لكن أريد أن يتم توجيه المستخدم إلى صفحة تسجيل دخول معينة، كيف أقوم بتحديد عنوان URL مُخصص في الكود السابق في جانغو Django؟

    • أعجبني 1
  21. لدي حقل uuid وفي ملف التهجير migrationبالشكل التالي:

    import uuid
    from django.db import migrations, models
    
    class Migration(migrations.Migration):
    
        # ...
    
        operations = [
            # ...
            migrations.AddField(
                model_name='product',
                name='uuid',
                field=models.UUIDField(default=uuid.uuid4, unique=True),
            ),
        ]

    لكن المشكلة تحدث عندما أقوم بتشغيل أمر التهجير:

    py manage.py migrate

    يظهر لي الخطأ التالي:

    django.db.utils.IntegrityError: could not create unique index "stores_product_uuid_key" DETAIL: Key (uuid)=(003c17e3-0301-4251-bf6e-87b6932d826b) is duplicated.

    ما سبب الخطأ؟ وكيف أقوم بحل هذه المشكلة؟

    • أعجبني 1
  22. لدي نموذجين Models مرتبطيت معًا على النحو التالي:

    def Foo(Models.model):
        # ...
    
        def is_active(self):
             return True
    
    def Bar(Models.model):
         foo = models.ForeignKey("Foo")
        
         # ...

    الآن عندما أحاول أن أقوم بعمل إستعلام query بإستخدام التابع filter بالشكل التالي:

    Bar.objects.filter(foo.is_active())

    يظهر لي هذا الخطأ:

    SyntaxError at ('non-keyword arg after keyword arg')

    لم أفهم سبب الخطأ هنا، ويبدو الكود سليم بدون مشكلة، ما سبب الخطأ هنا؟ وكيف أقوم بإصلاحه؟

    • أعجبني 1
  23. بدأت مؤخرًا بتعلم إستخدام React.js وبسبب معرفتي في جانغو Django أريد أن أستعمله كواجهة خلفية backend لمشاريعي وReact للواجهة الأمامية Frontend ، ولكن المشكلة أني لا أعرف كيف أقوم بالربط بينهما بإستخدام قوالب جانغو Django templates، هل يجب أن أقوم بتحويل مشروع React إلى كود HTML وأضيفه في أحد قوالب جانغو؟ أم أن هناك طريقة أخرى وأفضل من هذه الطريقة؟

    • أعجبني 1
  24. لدي نموذج Model ويحتوي هذا النموذج على حقل Field يسمى verified، الآن أقوم بعمل queryset بالشكل التالي:

    qs = MyModel.Objects.filter(...) 

    كيف يمكنني تغير قيمة الحقل verified إلى true في كل الكائنات التي تم الحصول عليها من خلال queryset السابقة؟

    • أعجبني 1
×
×
  • أضف...