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

Mohssen A Mohssen

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

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

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

كل منشورات العضو Mohssen A Mohssen

  1. أحاول إنشاء خدمة API ، وكنت أتساءل عن كيفية إتاحة خدمة رفع الملفات عن طريق Flask-Restful. بإستخدام فلاسك Flask فقط يمكنني الحصول على الملف من خلال الكود التالي: class Upload(Resource): def post(self): img = request.files['image'] if img: # Store image ... else: return {"error": True, "message": "there is no file" } وفي HTML يتم عرض حقل إدخال لرفع الملف: <input type="file" name="img"> ولكن كيف أقوم بإستقبال ملف بإستخدام إضافة Flask-Restful عبر واجهة برمجية API وليس من خلال عنصر input؟
  2. لدي ملف عرض view يحتوي على مكون معين وأريد إستخدام نفس المكون في ملف عرض آخر ، لا أريد ان أقوم بنسخ الكود في أكثر من مكان. هل توجد طريقة تمكنني من إستدعاء ملف عرض view بداخل ملف عرض آخر؟
  3. أنا أستخدم الحقل ImageField في أحد النماذج model لرفع الصور ويتم رفع وتخزين الملفات بشكل جيد ولكن عندما أقوم بإزالة السجل record من قاعدة البيانات (بإستخدام لوحة التحكم)، يتم إزالة الكائن من قاعدة البيانات بدون مشكلة ولكن لا يتم حذف الملف الموجود على الخادم. وبالتالي يوجد في النهاية عدد كبير من الملفات الغير ضرورية، كيف أجعل أحذف الملفات بشكل تلقائي عند حذف السجل من قاعدة البيانات؟
  4. لدي عدد من عناوين URL المخصصة لعدد من صفحات الهبوط وتنتهي بمعرّف فريد id. أحتاج إلى أن أكون قادرًا على الحصول على المعرف من عنوان URL http://localhost/pageA http://localhost/pageB http://localhost/pageC http://localhost/pageD أريد أن تكون كلمة page ثابتة بينما بجانبها حرف أو رقم يعبر عن الصفحة، كيف أقوم بهذا الأمر؟
  5. أرغب في تمرير متغير إلى جميع القوالب الخاصة بالمشروع، دون تكرار نفس الكود في كل دالة في ملف views.py، فعلى سبيل المثال، أود أن أجعل متغير categories متاحة لجميع القوالب في تطبيق الويب، بدلًا من تمريره يدويًا في كل دالة: def home_page(request): categories = Category.objects.all() # ... return render_to_response('users/home_page.html', {'categories':categories}) def about_page(request): categories = Category.objects.all() # ... return render_to_response('users/about_page.html', {'categories':categories}) كما هو ظاهر في الكود السابق فإن في كلا الدالتين أقوم بجلب التصنيفات categories من قاعدة البيانات وإرسلها إلى القالب، هل توجد طريقة لجعل المتغير categories متاحًا لكل القوالب بشكل إفتراضي بدلًا من تمريره لكل قالب على حدى؟
  6. لدي بعض البيانات في ملف CSV وأريد استيرادها إلى نماذج model في جانغو Django ، هنا شكل البيانات التي أريد إستيرادها: 1;"product_1";"20.59";"product description"; 2;"product_2";"29.99";"product description"; 3;"product_3";"18.25";"product description"; 4;"product_4";"37.50";"product description"; لدي نموذج باسم Product. وأريد أن أقوم بإستيراد ملف CSV السابق إلى الحقول الموجودة في النموذج مثل الاسم name والوصف description والسعر price كيف أقوم بهذا الأمر؟
  7. بدأت أعمل على لينكس مؤخرًا، وحاولت تشغيل أحد مشاريع فلاسك Flask، ولكن ظهر لي خطأ Permission denied لذلك قمت بتغير صلاحيات الملف (والمجلد الحاوي له) إلى 755، ولكن ظلت نفس المشكلة، حيث يظهر الخطأ التالي: $ python3 main.py Traceback (most recent call last): File "main.py", line 12, in <module> app.run(host="127.0.0.1", port=81, debug=True) File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 843, in run run_simple(host, port, self, **options) File "/usr/local/lib/python3.9/site-packages/werkzeug/serving.py", line 677, in run_simple s.bind((hostname, port)) PermissionError: [Errno 13] Permission denied أعتقد أ، سبب المشكلة هو هذا السطر: app.run(host="127.0.0.1", port=81, debug=True) ولكن لا أعرف ما المشكلة هنا؟
  8. لقد قمت بإعداد خادم خانغو Django باستخدام Nginx، ووجدت خطأأن بعض الصفحات يظهر فيها خطأ 403 . كيف أقوم بتحدي مكان ملفات logs في جانغو Django بحيث يتم إنشاء هذه الملفات وكتابة الأخطاء فيها؟
  9. أحاول أن أقوم بعرض بعض المنشورات في شكل صفحات pagination ، لكن لا أعرف من أين أبدأ أو كيف أقوم بعمل هذا الأمر في البداية بدأت أقوم بجلب كل المنشورات من قاعدة البيانات بإستخدام Flask-SQLAlchemy، ثم أقوم بتقسيمها إلى صفحات أم ماذا؟ أشعر بالتشتت في هذه الجزئية، ما هو المطلوب بالتحديد لكي أقوم بعمل pagination في فلاسك Flask؟
  10. قمت بعمل واجهة برمجة (API) بإستخدام جانغو Django وتقوم بإرجاع كائن JSON في حالة حدوث الخطأ ولكن المشكلة هي أن رمز الحالة status code هو 200، وبالتالي لا يعبر عن حدوث خطأ هذا هو الكود الخاص بهذه الجزئية: return JsonResponse({'status': 'error', 'message': msg}) كيف يمكنني تغير رمز الحالة status code إلى 500 على سبيل المثال؟
  11. لدي نموذج model به حقل تاريخ: ceated_at = models.DateField(_("Date"), default=datetime.now) المشكلة هنا أن هذا الكود لا يعمل، بحيث إذا حاولت حفظ بعض البيانات وقمت بملئ هذا الحقل بتاريخ الأمس، فسيتم إستخدام الوقت الحالي بدلًا من القيمة التي أدخلتها. كيف أجعل هذا الحقل قابل للتعديل بحيث يمكنني تعين قيمة له بدلًا من القيمة الأفتراضية؟
  12. أحاول أن أقوم بعرض بعض المعلومات المتوفرة في أحد القوالب، وأريد أن أعرض كل المتغيرات الموجودة في صفحة ما في أحد القوالب فهل هناك وسم قالب template tag أو أي شيء أخر يمكنني استخدامه لعرض جميع المتغيرات المتوفرة في الصفحة ما؟
  13. أريد حساب مجموع الأسعار في متجر إلكتروني مبني بإستخدام جانغو Django، يمكنني القيام بهذه المهمة بإستخدام SQL بالشكل التالي: SELECT SUM(ISNULL(products.title)) FROM products; ولكن لا أعلم كيف أستخدم SUM في جانغو Django، هل توجد طريقة لحساب مجموع أسعار المنتجات بإستخدام QuerySet؟
  14. أريد أن أقوم بجلب أحدث 10 منشورات من قاعدة البيانات، وفرز النتائج حسب id بترتيب تصاعدي، قمت بتجربة الكود التالي: Article.objects.filter(since=since)[:-10] ولكن الكود السابق يظهر خطأ يقول إن "Negative Indexing is not supported" . والآن لا أستطيع جلب المنشورات إلا بإستخدام ترتيب تنازلي: Article.objects.filter(since=since)[:10] ثم أقوم بعكس الترتيب مرة أخرى في الواجهة الأمامية Frontend. هل هناك طريقة أفضل لجلب المنشروات بترتيب عكسي من قاعدة البيانات مباشرة؟
  15. أحاولأن أقوم بعمل نموذج لتسجيل الدخول في موقع مبني بإستخدام فلاسك Flask، لذلك قمت بعمل القالب التالي: <form action="{{ url_for('login') }}" method="post"> <div> <label for="username">Username: </label> <input type="text" id="username" placeholder="Username"> </div> <div> <label for="password">Password: </label> <input type="password" id="password" placeholder="Password"> </div> <div > <input class="btn btn-pramiry" type="submit"> </div> </form> وقمت بعمل الدالة login بالشكل التالي: @app.route('/login', methods=['POST']) def login(): request.form['username'] # لا يوجد مفتاح username في القاموس # ... المشلكة أن request.form تُعيد قاموس فارغ، وبالتالي لا يمكنني التحقق من اسم المتسخدم وكلمة المرور. ما الخطأ هنا؟ هل نسيت عمل شيء ما؟
  16. لدي قائمة list أقوم بتمريرها إلى قالب template، أريد الوصول إلى خاصية موجودة في العنصر الأول. أعلم أنه يمكنني الوصول إلى العنصر الأول في هذه القائمة باستخدام الكود التالي: {{ users|first }} لكن عندما حاولت الوصول إلى خاصية موجودة في هذا العنصر بالشكل التالي: {{ users|first.fullName }} لكن للأسف لم يعمل الكود السابق. هل هناك طريقة للقيام بذلك؟
  17. في الفترة الأخيرة بدأت أقوم بعمل علاقات بين النماذح models في جانغو Django، ولكن أواجه صعوبة في فهم الفرق بين أنواع العلاقات. ما هو الفرق بين إستخدام الحقل OneToOne وManyToMany وForeignKey؟
  18. لدي حقل في نموذج model من نوع FileField. يرجع هذا الحقل كائنًا من النوع File ، والذي يحتوي على التابع name (يقوم بإرجاع مسار الملف من MEDIA_ROOT) الآن أريد أن أقوم بإضافة تابع يقوم بإعادة اسم الملف فقط (filename.ext) وليس مساره بالكامل، لكي أستخدمه بالشكل التالي في القوالب: {% for uploaded in all_uploads %} <tr> <td>File Name: {{uploaded.file.filename}}</td><!-- يجب أن يتم كتابة اسم الملف هنا --> <td>File Path: {{uploaded.file.name}}</td> <td>File Size: {{uploaded.file.size}}</td> </tr> {% endfor %} كيف أقوم بهذا الأمر؟
  19. لدي نموذجان Models بالشكل التالي: class Category(models.Model): user = models.OneToOneField(User) # ... class Subcategory(models.Model): user = models.OneToOneField(User) # ... وأحاول الآن التأكد مما إذا كان المستخدم الواحد لديه Category أو Subcategory، وقمت بكتابة الكود التالي: if (request.user.category != None) or (request.user.subcategory != None): # ... else: # ... لكن يظهر لدي الخطأ التالي: Category matching query does not exist. كيف يمكنني التحقق من الخاصية Category أو Subcategory لدى المستخدم في جانغو Django؟
  20. في مشروع جانغو Django لدي يوجد ملف models.py وهذا الملف يحتوي على الكثير من الأصناف Classes وأصبح حجم الملف كبير للغاية ويزداد كلما طورت في المشروع أكثر هل هناك طريقة بسيطة لإزالة الأصناف من ملف models.py وتظل تعمل مع جميع أدوات جانغو Django؟ أم أن هناك حلًا مختلفًا تمامًا لهذه المشكلة؟
  21. عند عمل مشروع بإستخدام فلاسك Flask أو جانغو Django، يُنصح في كل مكان بالاحتفاظ بالمفاتيح السرية Secret Keys في ملف منفصل عن إعدادات التطبيق. أيضًا، يجب ألا يتم رفع الملف الذي يحتوي على المفاتيح السرية مثل SECRET_KEY إلى GitHub أو أي مكان آخر. لكن عند نشر المشروع على خادم حقيقي Production Server، سأحتاج إلى الوصول إلى المفاتيح السرية بالتأكيد لكي يعمل الموقع بشكل سليم، وهذا يعني أنه يجب رفع الملف الخاص بالمفاتيح السرية إلى الخادم، إذا كان الأمر كذلك، كيف أحمي المفاتيح السرية في مرحلة الإنتاج Production؟
  22. ماهو الفرق بين الكود التالي: request.POST.get('KEY') وهذا الكود: request.POST['KEY'] قمت بتجربة كلا الأمرين وحصلت على نفس النتيجة، لذلك كنت أتسأل عن الفرق بينهما؟
  23. عندما يزور مستخدم ما موقع الويب الخاص بي ويدخل إلى أحد الصفحات، كيف يمكنني التقاط موقع الويب الذي أتى منه؟ أعلم أن Google Analytics تقدم مثل هذه الخدمة بشكل إفتراضي ولكن أريد الحصول على شيء داخلي من خلال أكواد Python. كيف أقوم بهذا الأمر؟
  24. أود أن أحصل على CharField بطول ثابت في النموذج Model. أريد أن يكون الطول المحدد فقط هو الصحيح. حاولت إستخدام الكود التالي national_number = models.CharField('National Number', max_length=14, min_length=14) لكنه يعطيني خطأ (يبدو أنه لا يمكنني استخدام max_length و min_length في نفس الوقت). كيف أقوم بهذا الأمر في جانغو Django؟
  25. كنت من فترة أقرأ في توثيق جانغو Django ، ووجدت أن هناك نوعين من الإستمارات Forms، النوع الأول هو forms.Form والآخر forms.ModelForm لكن لم أفهم ما الفرق بين النوعين، هل يمكن لأي شخص أن يشرح لي أوجه التشابه والاختلاف بين هذين النوعين؟ ومتى أستعمل كل نوع منهما؟
×
×
  • أضف...