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

Mohssen A Mohssen

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

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

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

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

  1. أنا أستخدم flask-sqlalchemy في أحد المشاريع، وأريد أن أقوم بتنفيذ استعلام في قاعدة البيانات لحساب عدد السجلات في الجدول. أعلم أنه يمكنني استخدام table.query.filter_by.count مباشرةً ولكن لا أريد تطبيق مرشح filter معين لكي يتم حساب عدد السجلات بالكامل، كيف أقوم بهذا الأمر؟
  2. أريد تحديد بعض العمليات (تشغيل دالة معينة) لنموذج model عند إنشائه فقط. أي شيء مثل before_create مثلًا. هل هذا ممكن؟ حاولت البحث عن حل ولكن وجدت أن توثيق جانغو Django يعرض أمثلة فقط لعمل overriding للتوابع save و delete فقط كيف أقوم بتشغيل بعض الأكواد عند إنشاء كائن جديد من النموذج instance of model في جانغو Django؟
  3. لدي نموذج بالشكل التالي: class Post(models.Model): module = models.Charfield(max_length=255) state = models.ForeignKey(Status) tags = models.ManyToManyField(Tag, blank=True, null=True) الآن أحاول أن أقوم بالحصول على المنشورات التي تحتوي على وسم tag معين في الحقل tags، لذلك حاولت إستخدام المرشح contains ولكن يبدو أنه يعمل مع النصوص فقط Post.objects.filter(tags__contains=self.tag.id) ما هي الطريقة الصحيحة للحصول على المنشورات التي تحتوي على وسم tag معين؟
  4. لدي تطبيق بسيط مبني بإستخدام فلاسك Flask بالشكل التالي: @app.route('/submit', methods=['GET', 'POST']) def submit(): if request.method == 'POST': title = request.form['title'] content = request.form['content'] post_entry = models.Post(title=title, content=post) db.session.add(post_entry) db.session.commit() return redirect(url_for('my-form')) else: return render_template('error.html') @app.route('/my-form') def my_form(): posts = [] for post in session.query(models.Post): posts.append((post.title, post.content)) return render_template('posts.html', posts=posts) كما هو ظاهر من الكود، فإن أحد المسارات يقوم بحفظ منشور في قاعدة البيانات ومسار آخر يقوم بعرض بعض المنشورات، وهنا الكود الخاص بالإستمارة form: <form action='/submit' method = "post"> title: <input name="title" type="text"> main: <input name="content" type="text"> <button type="submit">Publish</button> </form> المشكلة أن كلما أقوم بإرسال الإستمارة من خلال الضغط على زر Publish يظهر لي الخطأ التالي: Method Not Allowed: The method is not allowed for the requested URL. بالرغم من أني تأكدت من إضافة المعامل methods إلى المسار submit إلا أن الخطأ مازال يظهر بدون فائدة. ما سبب هذا الخطأ هنا؟
  5. لدي متجر صغير مبني بإستخدام جانغو Django، ولدي فضول أي نوع من الحقول سيكون أفضل كحقل لتخزين العملات Currency؟ سأقوم بعمليات بسيطة على أسعار المنتجات مثل حساب الخصم discount. وأخطط للاحتفاظ برقمين بعد الصفر (مثل 15.99$) وأغلبية الوقت إذا كانت هذه الأرقام العشرية صفرًا، فسأخفي هذه الأرقام وأعرضها على أنها "15" فقط بدون كتابة أي شيء بجانب العلامة العشرية. هل أستعمل DecimalField أم FloatField وما الفرق بينهما؟
  6. بعد عمل مشروع بإستخدام جانغو Django وجدت أن الموقع يصبح بطيء بعض الشيء، كيف أتأكد من سرعة الأكواد؟ في PHP و Laravel يمكن أن أستخدم أدوات مثل Debug bar ، فهل توجد أداة أو طريقة لفحص الكود ومعرفة إستعلامات SQL التي تتم لتحديد مكان الخلل الذي يسبب بطء الموقع؟
  7. تعلمت في الفترة الماضية كيفية إستخدام Django ORM ، وكنت أتساءل عما إذا كان من الممكن استخدام Django ORM في "الاتجاه المعاكس". هل من الممكن إنشاء نماذج models من مخطط قاعدة بيانات database schema موجود بالفعل لدي من مشروع قديم (بالرغم من أن المشروع لا يستعمل جانغو Django من الأساس) هل من ممكن القيام بهذا الأمر ؟
  8. لماذ يجب أن أستعمل abstract model في جانغو Django بدلًا من صنف عادي في بايثون، ما المشكلة في الكود التالي: class Post: title = models.CharField(...) def get_content(self): return self.content لماذا علي تحويله إلى الشكل التالي: class Post(models.Model): title = models.CharField(...) def get_content(self): return self.content class Meta: abstract = True ما الفرق بين الصنفين السابقين؟ وهل توجد حالات تجعلني أستعمل صنف بايثون عادي؟
  9. في الكود التالي أقوم بحفظ منشور post في قاعدة البيانات: MyModel.objects.create(title="post 1", content="Hello, Wolrd") كيفية الوصول إلى قيمة id الخاصة بالمنشور الذي تم حفظه في قاعدة البيانات للتو. هل هناك طريقة للحصول على هذا المعرف id واستخدامه في مكان آخر في الكود الخاص بي؟
  10. لدي نموذج بسيط بالشكل التالي: class Registration_FORM(ModelForm): class Meta: model = My_Class fields = ('name', 'email' , 'gender') كيف أجعل الحقل gender إختياري في جانغو Django؟ لكي لا يتم إجبار المستخدم على إدخال هذه القيمة
  11. لدي نموذجين Models في متجر بسيط مبني بإستخدام جانغو Django على الشكل التالي: class Tag(models.Model): name = models.CharField(max_length=255) class Product(models.Model): name = models.CharField(max_length=255) tag = models.ForeignKey(Tag) كما يظهر من الكود فإن كل منتج لديه وسم tag حاولت أن أقوم بحساب عدد المنتجات في كل وسم ولكن لم أستطع القيام بهذا الأمر، أريد أن أقوم بتنفيذ شيء مشابهة لجملة SQL التالية: select tag_id, count(id) from product group by tag_id; كيف أقوم بهذا الأمر في جانغو Django؟
  12. أريد تقييد الوصول إلى عناوين URL التي يتم التعامل معها بواسطة ملفات العرض لجانغو Django Views. أعلم أن هناك المزخرف login_required decorator الذي يقوم بهذه المهمة. from django.contrib.auth.decorators import login_required @login_required def myView(request): # ... ولكن لم أتمكن من العثور على طريقة لإعادة توجيه المستخدم إلى صفحة أخرى مثل صفحة تسجيل الدخول أو تسجيل حساب جديد في حالة لم يكن المستخدم مُسجل في الموقع، كيف أقوم بهذا الأمر؟
  13. لدي نموذج بسيط للغاية ويحتوي على حقل من نوع ImageField بالشكل التالي: image = models.ImageField('image', upload_to='uploads/') أريد أن أسمح للمستخدم بكتابة عنوان URL خاص بصورة موجودة على الإنترنت ثم تخزين هذه الصورة في هذا الحقل. كيف أقوم بتخزين صورة online في هذا الحقل؟ أعتقد أنه يجب تحميل الصورة في كود جانغو Django ثم تخزينها في ملف ما، كيف أقوم بهذا الأمر؟
  14. في مشروع جانغو Django الخاص بي، أسمح للمستخدمين برفع صورة شخصية ليتم عرضها في صفحة كل مستخدم، ولكن أريد أن أتأكد أن الملف المرفوع عبارة عن صورة وليس أي نوع آخر من الملفات، كيف أقوم بالتحقق من الملف في جانغو Django؟ أو هل توجد طريقة لجعل FileField يقبل نوع معين فقط من الملفات (صورة، فيديو ، صوت ، إلخ)؟
  15. لدي مشروع جانغو Django، ويحتوي هذا المشروع على عدد من المستخدمين الوهمين Fake Users للتجربة وإختبار الموقع، الآن أريد أن أقوم بتغير كلمة السر الخاصة بأحد المستخدمين للمستخدمين، لذلك قمت بزيارة صفحة password_change ولكني نسيت كلمة السر الأصلية الخاصة بالمستخدم، هل يمكنك أن أقوم بتغير كلمة السر بدون إستخدام كلمة السر القديمة؟ أيضًا هل يمكن إستخدام سطر الأوامر فقط لتغير كلمة السر الخاصة بأحد المستخدمين؟
  16. لدي مشروع جانغو Django خاص بي، ويحتوي المشروع على العديد من الملفات والقوالب templates وملفات الخطوط وCSS وأحاول الآن أن أقوم بتنظيم هذه الملفات والمجلدات، وكنت أتسأل ما هو أفضل مكان لوضع القوالب templates في مشروع جانغو Django؟ هل أقوم بعمل مجلد templates داخل المشروع project مباشرة أم داخل التطبيق App؟ أم أن هناك طريقة أخرى متعارف عليها لتنظيم ملفات المشروع؟
  17. لدي نموذج في أحد مشاريع جانغو Django وأرغب في تصفية النموذج حسب طول نص العمود password، حاولت إستخدام الكود التالي، ولكن يبدو أنه هذه ليست الطريقة الصحيحة للقيام بهذا الأمر: Model.objects.filter(len(password) > 8) حيث أن المتغير password عبارة عن TextField
  18. لدي نموذج Model في جانغو Django باسم ويحتوي على التابع has_related_object والذي يقوم بالتحقق من وجود كائنات مرتبطة بهذا النموذج: class Store(base): name = models.CharField(max_length=255, blank=False, null=False) def has_related_object(self): return (self.seller is not None) and (self.products is not None) class Seller(base): name = models.CharField(max_length=255, blank=False, null=False) store = models.OneToOneField('Store', related_name="seller") ولكن المشكلة هنا هي ظهور الخطأ RelatedObjectDoesNotExist عندما أستدعي هذا التابع، بالشكل التالي: RelatedObjectDoesNotExist: Store has no seller. ما سبب هذا الخطأ؟ وكيف أقوم بإصلاحه؟
  19. قمت بكتابة بعض إختبارات Unit Tests في أحد مشاريع جانغو Django الخاصة بي، وقمت بكتابة إختبار لأحد الصفحات ولكن لم أنشيء هذه الصفحة بعد، وأريد أن يتم تخطي هذا الأختبار عند تشغيل كل الإختبارات عندما أقوم أقوم بتنفيذ الأمر manage.py test هل توجد طريقة لتخطي إختبار معين بدلًا من إزالته يدويًا؟
  20. في جانغو Django يمكن تعيين عنوان URL مخصص لتسجيل الدخول. ولكن هل يمكن أن أتحكم في عنوان URL الذي يتم إعادة التوجيه إليه بعد تسجيل الخروج Logout. أريد أن يتم إعادة التوجيه إلى الصفحة الرئيسية على سبيل المثال، كيف أقوم بهذا الأمر؟
  21. لدي مشروع مبني بإستخدام جانغو Django، ولكن بسبب أني أقوم بعمل الكثير من إستعلامات SQL أجد أن المشروع أصيح بطيئًا بعض الشيء، وعند البحث عن حل للمشكلة سمعت عن redis-cache ، ولكن لا أعرف من أين أبدأ في إستخدامه. هل يتم استخدامه كطبقة بين جانغو Django و بين قاعدة البيانات الخاص بي، عن طريق تخزين استعلامات SQL بطريقة أو بأخرى؟ أم أنه من المفترض أن يتم استخدامها مباشرة كقاعدة بيانات بدلًا من MySQL بالكامل؟
  22. ما الذي يجعلني أستخدم الكود التالي بدلًا من إنشاء نموذج form بإستخدام الصنف ModelForm وإستدعاء التابع is_valid للتحقق من النموذج form و model معًا: save(commit=False) متى يجب أن أستعمل save(commit=False) من الأساس؟ هل هناك مواقف حيث قد يكون هذا الكود مفيدًا؟
  23. قمت بعمل بعض الأخطاء في قاعدة البيانات والآن أريد إزالة كافة الجداول من قاعدة بيانات حاولت إستخدام الأوامر التالية: python3 manage.py sqlflush blog لكن يبدو أن هذا الأمر لم يعد يعمل، حيث أن كل ما يقوم به هو طباعة جملة SQL لحذف الجداول ولكن لا يتم حذفهم بالفعل من قاعدة البيانات، هل هناك طريقة للقيام بهذا الأمر باستخدام manager.py أو بإستخدام الأمر django-admin؟
  24. لا أريد أن يتم إنهاء الجلسة session عند عمل commit ، لذلك بحثت في Flask-SQLAlchemy ووجدت الخاصية expire_on_commit ولكنها لا تعمل، حاولت أن أنفذ الكود التالي: db.session.expire_on_commit = False لكن لم يتأثر التطبيق على الإطلاق، كيف أستخدم الخاصية expire_on_commit في Flask-SQLAlchemy؟
  25. إذا أردت الحصول على قيم بعض الإعدادات الموجودة في جانغو أستخدم أحيانًا الكود التالي: import settings وفي بعض الأحيان نستخدم الكود التالي: from django.conf import settings لكن ما الفرق بينهما؟ ومتى أستخدم كلًا منهما؟
×
×
  • أضف...