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

Mohssen A Mohssen

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

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

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

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

  1. طوال الوقت في جانغو Django، أرى أنه يتم إستخدام الصنف DoesNotExist في حالة عدم وجود نتائج، ولكن في بعض الأحيان قد يتم إستخدام الصنف ObjectDoesNotExist الموجود في django.core.exceptions بدلًا منه. متى أستخدام الصنف ObjectDoesNotExist بدلًا DoesNotExist؟ ومتى أقوم بالعكس؟
  2. في مشروع فلاسك Flask لدي أستخدم validates decorator في الخاص بـ SQL-Alchemy للتحقق من صحة الحقول ومحتواها، كل شيء على ما يرام طالما أن كل دوال التحقق مستقلة عن بعضها البعض، على النحو التالي: @validates('password') def validates_password(self, key, value): # password field validation @validates('repassword') def validates_repassword(self, key, value): # re-password field validation ولكن بالرغم من ذلك،لدي حقلين (re-password و password) وأنا الآن بحاجة إلى إجراء بعض التحقق من الصحة هذه الحقول معًا، حيث يجب أن أتأكد من أن محتوى كلا الحقلين متساويين. حاولت تمرير عدة حقول في وقت واحد، ولكن وجدت أنه يتم تشغيل دالة التحقق مرة واحدة لكل معامل، على النحو التالي: @validates('password', 'repassword') def validates_password_fields(self, keys, values): # field validation # password == repassword ينتج عن ذلك تدفق عمل للتحقق من صحة password ثم التحقق من صحة re-password. ومع ذلك ، أود التحقق من أن كليهما متساويين، كيف أقوم بهذا الأمر؟ هل توجد طريقة للوصول إلى الحقل password أثناء التحقق من الحقل re-password؟
  3. لقد حاولت مؤخرًا إنشاء موقع ويب شخصي Portfolio باستخدام فلاسك Flask مع GitHub Pages. بمجرد إنشاء مستودع username.github.io ووضعت ملف باسم index.html، سيظهر مباشرة على العنوان username.github.io ومع ذلك ، بمجرد حذف هذا الملف واستبداله بتطبيق Flask أساسي ، تظهر صفحة 404. ما هو المطلوب لتشغيل تطبيق Flask على صفحات GitHub؟
  4. لقد وجدت هذا الكود التالي في أحد المشاريع المفتوحة المصدر، الكود التالي مهمته إحتساب الوقت الذي يستغرقه كل طلب: @app.before_request def before_request(): g.start = time.time() @app.teardown_request def teardown_request(exception=None): diff_time = time.time() - g.start print(diff_time) لكنني لا أعرف ما هو الكائن g الموجود في الكود، ما هي مهمة هذا الكائن وفيما يستخدم؟
  5. في مشروع جانغو Django لدي نموذجين Models. ولكل نموذج من النموذجين تابع manager خاص يُعيد مجموعة مختلفة من الكائنات، بناءً على خاصية في الكائن. هل هناك أي طريقة للحصول على مجموعة استعلام QuerySet (أو مجرد قائمة كائنات list of objects) تكون عبارة عن اتحاد QuerySets التي يتم إرجاعها بواسطة كل تابع manager معًا؟ أبحث عن شبء مثل جملة UNION في SQL لكي يتم دمج نتيجة أكثر من إستعلام معًا.
  6. أحاول تحويل موقع مبني بإستخدام PHP إلى جانغو Django ويوجد في الموقع شريط تنقل Navbar، وفي الروابط الموجودة في هذا الشريط يتم إضافة الصنف .active إذا كانت مسار الصفحة الحالي هو مسار الرابط href. في كود PHP، يتم التحقق من عنوان URL الحالي لكل رابط في شريط التنقل ليتم إضافة صنف CSS Class بالشكل التالي: <a href="/signin" class="<?php echo $_SERVER["REQUEST_URI"] == "/signin" ? "active": ""; ?>">Signin</a> <a href="/signup" class="<?php echo $_SERVER["REQUEST_URI"] == "/signup" ? "active": ""; ?>">Signup</a> <a href="/" class="<?php echo $_SERVER["REQUEST_URI"] == "/" ? "active": ""; ?>">Home</a> هل هناك طريقة أفضل في جانغو Django للتحقق من أن الرابط يساوي المسار الحالي URL؟ وكيف يمكنني الحصول على عنوان URL الخاص بالصفحة الحالية في القالب Template؟
  7. لدي مشروع فلاسك Flask، وقمت مؤخرًا بتحديث التطبيق وعندما حاولت تشغيله ظهر الخطأ التالي: Traceback (most recent call last): File "/home/mohssen/web-projects/app.py", line 11, in <module> app.run(host = os.getenv('IP', '0.0.0.0'), port=int(os.getenv('PORT',8080))) File "/usr/local/lib/python3.7/dist-packages/flask/app.py", line 772, in run run_simple(host, port, self, **options) File "/usr/local/lib/python3.7/dist-packages/werkzeug/serving.py", line 687, in run_simple inner() File "/usr/local/lib/python3.7/dist-packages/werkzeug/serving.py", line 653, in inner fd=fd).serve_forever() File "/usr/local/lib/python3.7/dist-packages/werkzeug/serving.py", line 557, in make_server passthrough_errors, ssl_context, fd=fd) File "/usr/local/lib/python3.7/dist-packages/werkzeug/serving.py", line 467, in __init__ HTTPServer.__init__(self, (host, int(port)), handler) File "/usr/lib/python3.7/SocketServer.py", line 419, in __init__ self.server_bind() File "/usr/lib/python3.7/BaseHTTPServer.py", line 108, in server_bind SocketServer.TCPServer.server_bind(self) File "/usr/lib/python3.7/SocketServer.py", line 430, in server_bind self.socket.bind(self.server_address) File "/usr/lib/python3.7/socket.py", line 224, in meth return getattr(self._sock,name)(*args) socket.error: [Errno 98] Address already in use أنا أقوم بتشغيل التطبيق من خلال السطر التالي: app.run(host = os.getenv('IP', '0.0.0.0'), port=int(os.getenv('PORT',8080))) قمت بتحديد العنوان 0.0.0.0 لكي أستطيع إستخدام التطبيق على الشبكة، ولكن حتى لو غيرت العنوان يظهر نفس الخطأ! ما الذي يعنيه الخطأ Address already in use؟ وكيف يمكنني إصلاحه؟
  8. أحاول الحصول على آخر كائن من نموذج User في جانغو Django ، لذلك قمت بتجربة الكود التالي: User.objects.latest().filter(name="mohssen") لكن أتركد أن هناك خطأ وقمت بتصحيح الكود ليصبح بالشكل التالي: User.objects.filter(name="mohssen").latest() ولكن لم يعمل أي من الأكواد السابقة. ما الخطأ هنا؟ وكيف أحصل على آخر كائن في النموذج في جانغو Django؟
  9. لدي نموذج وأريد الحصول على اسم الجدول في قاعدة البيانات، لا أريد تحديد الأسماء صراحةً في الصنف Meta داخل النموذج Model لكي يكون النموذج ديناميكيًا بقدر الإمكان. from django.contrib.auth.models import User # كيف أصل إلى اسم الجدول الخاص بالنموذج User? كيف يمكنني الحصول على اسم جدول قاعدة البيانات برمجيًا؟
  10. عندما أقوم بإنشاء مشروع بإستخدام فلاسك Flask أقوم بعمل التطبيق بالشكل التالي: from flask import Flask app = Flask(__name__) لماذ نكتب __name__ هنا؟ لماذا لا نكتب أسم المشروع هنا على سبيل المثال؟ أعلم أن المتغير __name__ يشير إلى اسم الوحدة، والتي ستكون __main__ عندما أشغل المشروع، لكن ما هي المعلومات التي يمكن أن يحصل عليها Flask عندما يتلقى __main__ كمعامله الأول؟
  11. قمت بعمل مشروع بسيط للغاية بإستخدام جانغو Django وقاعدة بيانات SQLite بسيطة، ولكن عندما أقوم بعمل بعض العمليات المتكررة لاختبار الإتصال بقاعدة البيانات، يظهر الخطأ التالي: OperationalError: database is locked لقد أعدت تشغيل الخادم وأغلقت التطبيق بالكامل والمتصفح أيضًا، لكن يظهر نفس الخطأ. ما هو هذا الخطأ وكيف أصلحه؟
  12. لدي مسارين في المشروع الخاص بي، المسار الأول يقوم بإنشاء رقم عشوائي random ويخزنه في متغير random_number ، وفي المسار الثاني أريد أن أستطيع إستعمال هذا المتغير بنفس القيمة: import random from flask import Flask, render_template @app.route('/login', methods=['GET']) def a(): random_number = random.random() return render_template("login.html") # يتم إرسال إستمارة form والتي سترسل البيانات إلى الصفحة /b @app.route('/login', methods=['POST']) def b(): print(random_number) # أريد إستعمال المتغير random_number هنا # .... كيف أفعل هذا في فلاسك Flask؟ هل أحتاج إلى استخدام جلسة session أم أن هناك أي حل آخر؟
  13. هل من الممكن تحديد مفتاح خارجي foreign key في ملف Models.py في تطبيق app والذي يشير إلى جدول في تطبيق آخر app في نفس مشروع جانغو Django؟ بعبارة أخرى ، لدي تطبيقان ، الأول هو blog والثاني profiles ، ولدي الأصناف التالية في هذه التطبيقات: # في الملف blog/models.py class Post(models.Model): title = models.CharField(max_length=255) # في الملف profiles/models.py class PostProperty(models.Model): post = models.ForeignKey(Post) هل من الممكن الربط بين نموذجين في تطبيقين Apps في مشروع جانغو Django؟
  14. أريد أن أقوم بعمل صفحة بسيطة بإستخدام فلاسك Flask، حيث يقوم المستخدم برفع ملف نصي ويتم تحويله إلى CSV ثم يقوم المستخدم بتحميل الملف النهائي. أعلم أنه يمكن الوصول إلى الملفات المرفوعه في فلاسك Flask من خلال الكود التالي: uploaded_file = request.files['field_name'] لكن كيف يمكنني إستخدام هذا الملف، أريد أن أقرأ محتوياته فقط، ولست بحاجة إلى حفظه على الخادم من الأساس. كيف يمكن القيام بهذا الأمر في فلاسك Flask؟
  15. في مشروع جانغو Django لدي يتم توليد كود HTML التالي لأحد الحقول: <input name="email" id="field_id" /> أعلم أنه يمكنني الحصول على الاسم من خلال الخاصية html_name في الحقل: {{ field.html_name }} ولكن عندما حاولت الحصول على مُعرف الحقل id بالشكل التالي لم أنجح: {{ field.id }} كيف يمكنني الحصول على مُعرف الحقل id؟
  16. أحاول إنشاء نموذج form لتعديل بيانات المستخدم (Profile Page). لذلك أحتاج إلى تضمين بعض الحقول من نموذج المستخدم ونموذج Profile. حاليا أنا أستخدم نموذجين بالشكل التالي: class ProfileForm(ModelForm): class Meta: model = UserProfile fields = ("bio", "phone", "email", "username") class UserEditForm(ModelForm): class Meta: model = User fields = ("name", "age") هل هناك طريقة لدمج نموذجين في نموذج واحد أم أحتاج إلى إنشاء نموذج جديد بالكامل؟
  17. في flask-restful يمكنني أستخدام الدالة abort لتوليد رسالة خطأ يمكنني تحديد رقم الخطأ (500 على سبيل المثال)، وكذلك رسالة الخطأ message abort(500, message="Error: Can't find the file you looking for.") تقوم الدالة السابقة بتوليد JSON : { "status": 500, "message": "Error: Can't find the file you looking for." } لكن لا توفر الدالة abort طريقة لإضافة قيم أخرى في كود JSON، فعلى سبيل المثال أريد أن يتم توليد الخطأ ليكون بالشكل التالي: { "status": 500, "route": "/api/v1/get-log" "message": "Error: Can't find the file you looking for." } كيف يمكنني عمل مثل الرسالة السابقة في Flask-restful؟
  18. لدي مشروع جانغو Django، وأريد إلى عمل اختبار test للتأكد من أن محتوى رسائل البريد الإكتروني تحتوي على نص صحيح. هل يمكن القيام بهذا الأمر بإستخدام الصنف django.test.TestCase؟ فكرت في تخزين رسائل البريد الإلكتروني محليًا في أحد الملفات قبل إرسالها، ولكن ليس لدي فكرة عن كيفية القيام بهذا الأمر.
  19. للوصول إلى الأخطاء errors في WTForms ، يجب علي المرور عليها بإستخدام حلقة for بالشكل التالي: for err in form.username.errors: print(err) لكنني أحاول أن أقوم بإنشاء تطبيق RESTful لا يستخدم النموذج form بل مجرد API Endpoints ، لذلك أقوم بالتحقق من جميع الحقول للعثور على مكان الخطأ يدويًا، على النحو التالي: for err in form.username.errors: print(err) for err in form.email.errors: print(err) for err in form.password.errors: print(err) # ... هل هناك طريقة لأفعل شيئًا مثل هذا ولكن بطريقة أتوماتيكية بدلًا من المرور على كل الحقول؟
  20. لدي بعض البيانات التي يتم إحضارها من قاعدة بيانات، وأريد أن أعرضهم في قالب jinja2 ، لكن أولًا أريد الفصل بين العناصر بأسطر (العنصر br) وليس فواصل خطية. لذلك حاولت أن أستخدم الدالة replace بالشكل التالي: {{ 'username|name|email' | replace("|", ":<br/>") }} لكن المشكلة هي أنه يتم عرض النص بدون عرض عناصر HTML نفسها، ويظهر النص التالي كما هو في المتصفح: username:<br/>name:<br/>email:<br/> كيف أجعل المتصفح يقوم بإستخدام عنصر br لكتون النتيجة كالتالي؟ username: name: email:
  21. أريد أن أقوم بتسجيل بعض المعلومات لكل الزيارات عندما يقوم أحد المستخدمين من زيارة أحد المسارات routes بالشكل التالي: 14:22:09 Jan 31 2022 User visited /profile/me 14:22:10 Jan 31 2022 Username is Mohssen 14:22:10 Jan 31 2022 User age is 23 كيف يمكنني أن أقوم بتسجيل مثل هذه النصوص في ملف باسم temp/app.log على سبيل المثال في جانغو Django؟
  22. أنا أستخدم نماذج جانغو Django Forms لكي أعرض بعض الحقول inputs، ولدي حقل إدخال في أحد القوالب بالشكل التالي: <div class="field"> {{ form.query }} </div> ويتم عرضه على النحو التالي: <div class="field"> <input id="id_query" type="text" name="query" maxlength="100" /> </div> ولكنني أريد أن أضيف بعض خصائص HTML attr إلى هذا الحقل، مثل إيقاف الإكمال التلقائي من خلال إضافة الخاصية autocomplete كيف يمكنني أن أضيف خصائص جديد إلى الحقل بإستخدام جانغو Django؟
  23. لدي بعض مهام التي يتعين القيام بها عندما يزور أحد المستخدمين أحد المسارات route في فلاسك Flask، لكنني لا أريد إبقاء العميل في انتظار الصفحة لكي يكتمل تحميلها، أي أريد إرسال رد Response للعميل والقيام بتنفيذ دالة ما بعد إرسال الرد للعميل. هل هناك طريقة في فلاسك Flask لإرسال الرد إلى العميل ثم متابعة إجراء بعض العمليات؟
  24. لدي بعض أكواد HTML التي قمت بسحبها من بعض المواقع وحفظتها في قاعدة بيانات، الآن أريد أن يتم إحضارها من قاعدة البيانات لأقوم بعرضها بإستخدام فلاسك Flask، وقمت بكتابة الكود التالي: from flask import Flask, render_template app = Flask(__name__) @app.route('/') def scraped_pages(): html = "<h1>Hello, World!</h1>" # يتم إحضار هذا النص من قاعدة البيانات return render_template("index.html", data=html) if __name__ == "__main__": app.run(debug=True) وفي القالب index.html أقوم بعرض المتغير data بالشكل التالي: <body> {% block body %} {{ data }} {% endblock %} </body> لكن المشكلة أن النص يظهر دائمًا كما هو ولا يتم عرضه كعناصر HTML ، حاولت أن أستخدم الدالة Markup بالشكل التالي: return render_template("index.html", data= Markup(html).unescape()) لكن نفس المشكلة لم تتغير، ما هو الخطأ هنا؟
  25. في أحد مشاريع جانغو Django لدي، عندما يكون هناك مجموعة QuerySet وأريد أن أقوم بالمرور على عناصرها وطباعتها، ما هو أفضل خيار لعد العناصر؟ len(qs) # أو qs.count() وما الفرق بين الطريقتين؟ هل أحدهما أسرع من الآخر؟
×
×
  • أضف...