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

Mohssen A Mohssen

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

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

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

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

  1. قمت بإنشاء مشروع فلاسك Flask جديد وكتب كود بسيط للغاية: from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello World!" if __name__ == "__main__": app.run(debug=True) ولكن المشكلة تحدث عندما أحاول تشغيل الملف السابق، حيث يظهر لي الخطأ التالي: Traceback (most recent call last): File "flask.py", line 1, in <module> from flask import Flask File "/home/mohssen/projects/flask.py", line 1, in <module> from flask import Flask ImportError: cannot import name Flask لا أفهم سبب هذه المشكلة ولماذا تحدث، كيف أصلح هذا الخطأ؟
  2. لدي ملف باسم base.html يحتوي على البنية الأساسية التي أريد أن أستعمالها في قوالب مختلفة: # base.html <html> <head> <title>{% block title %} | My Website{% endblock %}</title> </head> <body> <h1>{% block title %}My Website{% endblock %}</h1> </body> </html> الآن قمت بإستخدام الملف السابق في قوالب أخرى بالشكل التالي: # blog.html {% extends 'base.html' %} {% block title %}Official Blog{% endblock %} ولكن عند تشغيل المشروع يظهر لي الخطأ التالي: TemplateSyntaxError at 'block' tag with name 'title' appears more than once حاولت حل المشكلة من خلال تغير اسم Block من title إلى title1 و title2 بالشكل التالي: # blog.html {% extends 'base.html' %} {% block title1 %}Official Blog{% endblock %} {% block title2 %}Official Blog{% endblock %} ولكن من غير المنطقي أن أقوم بتكرار نفس الكود أكثر من مرة، هل يوجد حل لهذه المشكلة بحيث يمكنني إستخدام Block أكثر من مرة في نفس القالب؟
  3. أقوم بتطوير مشروع مبني بإستخدام فلاسك Flask، وأثناء مرحلة التطوير قمت بعمل العديد من التغيرات، والآن أرغب بحذف الجلسة session الحالية، كيف أقوم بهذا الأمر في فلاسك Flask، وهل توجد طريقة لمسح الجلسة في كل مرة أقوم فيها بإغلاق الخادم أو إغلاق موقع الويب؟
  4. لدي مشروع مبني بإستخدام جانغو Django وأستخدم فيه مكتبة unittest للقيام ببعض الإختبارات، وقمت بكتابة كل الإختبارات في الملف tests.py ثم أشغل هذه الإختبارات من خلال الأمر: ./manage.py test app كل شيء يعمل بدون مشكلة، لكن الملف tests.py يصبح مع الوقت أكبر وأكبر ويزيد في التعقيد، هل توجد طريقة بسيطة لتقسيم هذا الملف إلى عدد من الملف بحيث يحتوي كل ملف نوع واحد من الإختبارات فقط؟
  5. لدي تطبيق Flask يستخدم Flask-SQLAlchemy للاتصال بقاعدة بيانات MySQL. أود التحقق مما إذا كان هناك صف موجود في الجدول User. كيف يمكنني تعديل الاستعلام التالي للتحقق من وجود الصف في الجدول: db.session.query(User).filter_by(name='mohssen') الإستعلام السابق قد يعيد مستخدم واحد أو أكثر أو قد لا يعيد أي شيء على الإطلاق، كيف يمكنني إن أقوم بتعديله لكي أتحقق من وجد مستخدمين لهم نفس الاسم؟
  6. لدي قالب محفوظًا في templates/index.html. يتضمن هذا القالب شريط للتنقل navbar ، و footer وبعض المحتوى المختلف بينهما. كما أنه لدي ملفات html أخرى يجب أن تحتوي على شريط التنقل navbar ، والـ footer أيضًا. هل يمكنني استخدام flask لتقسيم عناصر الصفحة هذه بطريقة يمكنني من خلالها الحصول على ملفات مثل footer.html ، و navbar.html، وعرض هذه الملفات المختلفة داخل templates/index.htm أو أي قوالب أخرى؟
  7. أحاول إرجاع الإجمالي والمتوسط من مجموعة البيانات الخاصة بي، يمكنني القيام بهذا الأمر يدويًا بإستخدم SQL بالشكل التالي: SELECT SUM(field1) as SumFld, AVG(field2) as AvgFld FROM Price WHERE product_id=123 حاولت تحويل الكود السابق إلى SQLAlchemy كالتالي: from sqlalchemy.sql import func totals = Price.query(func.avg(Price.field2)).filter(Price.product_id==123) ولكن يظهر لي الخطأ التالي: TypeError: 'BaseQuery' object is not callable كيف أقوم بتحويل كود SQL السابق إلى SQLAlchemy في فلاسك Flask؟
  8. أقوم بسحب بعض النصوص من قاعدة بيانات مخزنة في متغير value وعندما أقوم بعرض قيمة هذا المتغير: {{ value }} Output: hello كيف أعرض هذا داخل قالب جانغو Django Template بالشكل التالي؟ Hello مع كتابة الحرف الأول كحرف كبير.
  9. هل هناك إمكانية لكتابة وحدات إختبار خاصة بمشروع جانغو Django دون إعداد قاعدة بيانات خاصة بهذا الأمر؟ أريد اختبار المنطق البرمجي الخاص بجزء من المشروع وهذا الجزء لا يتطلب إعداد قاعدة بيانات لكي يعمل. وعلى الرغم من سرعة إعداد قاعدة بيانات للإختبار إلا أنني أجد نفسي لا أحتاجها في أغلب الأحيان، كيف أقوم بعمل هذا الأمر؟
  10. لدي نموذج HTML يحتوي على أكثر من عنصر إدخال input بنفس الاسم: <input name="tags[]" type="text" /> <input name="tags[]" type="text" /> <input name="tags[]" type="text" /> في PHP يمكن الوصول إلى هذه المدخلات على شكل مصفوفة array، ولكن كيف يمكن الوصول إلى هذه المدخلات بإستخدام بايثون في فلاسك Flask؟ حاولت أن أقوم بإستخدام الكود التالي: tags = request.form['tags'] print(tags) ولكن ظهر لي الخطأ التالي: Bad Request The browser (or proxy) sent a request that this server could not understand. كيف يمكنني حل هذه المشكلة؟
  11. كنت أتدرب منذ فترة على إنشائ تطبيقات فلاسك Flask، وعندما حاولت أن أقوم بعمل تطبيق بنفسي من الصفر ظهر لي الخطأ التالي: Internal Server Error The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application. لم أفهم سبب الخطأ ولماذا يحدث، هنا الكود الخاص بي: from flask import Flask app = Flask(__name__) @app.route("/index") def index(): print(request.args['x']) return "Hello, World!" if __name__ == "__main__": app.run() كما هو ظاهر فهو كود بسيط للغاية ولكن الخطأ لا يوضح ما هي المشكلة بالتحديد، كيف أصلح هذا الخطأ؟
  12. لدي نموذج Author خاص بالكُتاب في مدونة مبنية بإستخدام جانغو Django، وأريد أن أقوم بالحصول على أعلى 30 كاتب من حيث عدد النقط، لذلك قمت بكتابة الكود التالي: authors = Author.objects.order_by('-score')[:30] لكنني أريد الآن أن أقوم بترتيب الكُتاب authors الذين حصلت عليهم من الكود السابق بحسب العمود first_name، كيف أقوم بهذا الأمر؟
  13. أحاول أن أقوم بعمل فلتر (تصفية) Filter في أحد الجداول بناءً على مفتح ForeignKey بإستخدام جانغو Django، فعلى سبيل المثال لدي النموذجين التاليين: class Image(models.Model): path = models.TextField(max_length=150) project = models.ForeignKey('Project') class Project(models.Model): name = models.TextField(max_length=150) ما أريد القيام به هو تصفية قائمة الصور (النموذج Image) بناءً على اسم المشروع المرتبط بهم، وحاليًا أقوم بهذا الأمر من خلال تنفيذ إستعلامين بالشكل التالي: project_list = Project.objects.filter(name__contains="Project_1") image_list = Image.objects.filter(desc__contains=filter, project__in=project_list).order_by('desc') أتساءل عما إذا كانت هناك طريقة لعمل هذا الفلتر في الاستعلام الرئيسي بحيث يكون هناك إستعلام واحد فقط؟
  14. أرغب في تضمين مترجم SCSS في مشروع فلاسك Flask الخاص بي. هل هناك طريقة مقبولة بشكل عام للقيام بهذا الأمر؟ سمعت عن مكتبة pyScss وwebassets ولكن لا أعرف كيف يمكنني إستخدامها في المشروع. كيف يمكنني تحويل ملفات SCSS إلى CSS ديناميكيًا في مشروع فلاسك Flask؟
  15. قرأت في أكثر من مكان أنه لا يجب إستخدام سيرفر فلاسك الإفتراضي flask built-in server، لأنه لا يصلح للتطبيقات الحقيقة ويجب إستخدامه فقط في عمل الإختبارات test أو أثناء مرحلة التطوير development، لكن ماذا إذا كان مشروع يستخدمه بضعة آلاف فقط من المستخدمين؟ هل يجب أن أستخدم خادم مختلف لمثل هذه التطبيقات؟ ومتى أستخدم خادم مثل gunicorn بدلًا من سيرفر فلاسك الإفتراضي flask built-in server؟
  16. لدي النص التالي مخزن في قاعدة البيانات: &lt;img src=&quot;https://via.placeholder.com/150&quot; /&gt; وأريد أن يتم تحويله إلى الكود التالي ليتم عرضه كصورة في المتصفح: <img src="https://via.placeholder.com/150" /> كيف يمكن القيام بهذا الأمر في جانغو Django؟
  17. في ملف قالب Template، أحاول أن أقوم بإضافة صنف class إلى أحد عناصر HTML إذا كان الرابط هو نفس الصفحة الحالية، بحيث يكون الكود بالشكل التالي: <li {% if current_page == "register" %} class="active" {% endif %}> <a href="/register">Register</a> </li> <li {% if current_page == "login" %} class="active" {% endif %}> <a href="/login">Login</a> </li> كيف يمكنني الحصول على قيمة current_page في الكود السابق للتحقق من الصفحة الحالية؟
  18. أعمل على مشروع جانغو Django ولدي نموذج باسم Users وأريد الحصول على QuerySet لكل الصفوف ولكن مع بعض الحقول المحددة من كل صف، وليس كل الحقول. أعلم أنه يمكن إستخدام الكود التالي: Users.objects.all() ولكن أريد أن أقوم بتحديد حقول معينة وليس كل الحقول. كيف أقوم بهذا الأمر؟
  19. أريد أن يكون المفتاح الأساسي primary key في النموذج model عددًا صحيحًا يتم زيادته تلقائيًا auto increment. لذلك قمت بكتابة الكود التالي بإستخدام flask-sqlalchemy: class User(db.Model): __tablename__ = 'users' id = db.Column(db.Integer, primary_key=True, autoincrement=True) name = db.Column(db.String(255)) email = db.Column(db.String(255), unique=True, nullable=False) created_at = db.Column(db.DateTime, default=db.func.now()) هذا الكود يعمل بشكل جيد، حيث يتم إنشاء الجدول users بدون مشكلة ولكن يظهر الخطأ التالي إن لم أقم بكتابة قيمة id عند إضافة مستخدم جديد: ERROR: null value in column "id" violates not-null constraint يبدو أن الخاصية auto increment لا تعمل تلقائيًا، حاولت تغير الكود ولكن نفس المشلكة. كيف أقوم بجعل العمود يتم زيادة تلقائيًا؟
  20. أنا أستخدم فلاسك flask لموقع بسيط. والآن أرغب في إرسال صورة (يتم إنشاؤها ديناميكيًا بواسطة مكتبة PIL) إلى العميل، لكن المشكلة أني أريد أن يتم إرسال الصورة بدون حفظها على القرص لكي تكون العملية أسرع خصوصًا أني لا أحتاج الصورة على الخادم بعد إرسالها إلى العميل. كيف أقوم بهذا الأمر؟ وهل يمكن أن أختار صيغة الصورة وجودتها أيضًا قبل إرسالها؟
  21. أحاول أن أقوم بعمل صنف Class-based view ولدي نموذج باسم Product بالشكل التالي: class Product(models.Model): number = models.CharField(max_length=50) provider = models.ForeignKey(Provider, on_delete=models.CASCADE) description = models.CharField(max_length=2000, default='SOME CONTENT HERE') def __str__(self): return "Product #" + self.number + " of " + self.provider.number لذلك قمت بإنشاء الصنف التالي: class Product(View): model = Product def get(self, request, resource_id): resource = get_object_or_404(Product, pk=resource_id) context = { 'resource': resource } return render(request, 'product.html', context) وهذا المسار path الخاص به: path('provider/resource/<int:resource_id>', Product.as_view(), name='resource'), لكن لسبب ما أحصل على الخطأ التالي: Exception Type: TypeError at /provider/resource/33 Exception Value: Product.get() got an unexpected keyword argument 'pk' ما سبب هذا الخطأ وكيف أقوم بحله؟
  22. لدي نموذج User وأريد أن أرتب المستخدمين بناءً على العمود likes و created_at بحيث يتم تنفيذ تعليمة SQL التالية: SELECT * FROM users ORDER BY likes DESC, created_at DESC LIMIT 10 حاولت أن أقوم بتنفيذ السطر التالي: User.query.order_by(User.likes.desc()).limit(10).all() ولكن بهذه الطريقة لا يمكن ترتيب المستخدمين بحسب تاريخ الإنشاء أيضًا. كيف يمكنني أن أستخدم أكثر من عمود في التابع order_by في الإستعلام السابق؟
  23. قمت بتثبيت إصدارات مختلفة من فلاسك Flask لأقوم بتشغيل مشروع قديم نوعًا ما، ولكن لا أعرف الآن ما الإصدار المثبت لدي في الوقت الحالي، ما هي أسهل طريقة لمعرفة إصدار Flask المثبت؟
  24. في مشروع فلاسك Flask لدي، عندما أقوم بعمل أي تغيرات على ملف JavaScript وتحديد الصفحة في المتصفحة لا تظهر هذه التغيرات ويتم تحميل نسخة قدمة من ملف جافاسكريبت لا تحتوي على آخر التغيرات. كيف أحل هذه المشكلة؟ هل توجد طريقة لحذف الملفات المؤقتة Cached في فلاسك Flask
  25. أحاول بدء thread داخل تطبيق Flask لأقوم بتنفيذ بعض الأعمال في الخلفية حيث يتم تشغيله بعد وصول الطلب request، لكني لست بحاجة إلى الانتظار حتى يتم الانتهاء من المهمة الموجودة في الخلفية للرد على الطلب. أي أن المهمة الموجودة في الخلفية سوف تستمر في العمل حتى بعد إرسال الرد response على العميل. كيف أقوم بتشغيل مهمة أخرى في الخلفية لتعمل حتى بعد إرسال الطلب؟
×
×
  • أضف...