بيشوى اميل شفيق2 نشر 26 مايو 2023 أرسل تقرير نشر 26 مايو 2023 لو حصلت على تاريخ معين و ليكن اليوم من حقل التاريخ فى الموديل فى Django و اريد اضافة عملية حسابية لزيادة يوم اخر (اليوم التالى) و اضافة رسالة عندما ياتى هذا اليوم او قبلة كيف؟؟؟ 1 اقتباس
0 Kais Hasan نشر 26 مايو 2023 أرسل تقرير نشر 26 مايو 2023 يمكنك تحويل حقل التاريخ في django إلى غرض من الصف datetime.datetime، حيث أن datatime هي المكتبة الأساسية في بايثون للتعامل مع التاريخ و الوقت. بعد التحويل يمكننا إضافة يوم باستعمال نفس المكتبة. يمكن القيام بكل ذلك كما يلي: # لنفترض أن اسم الحقل الخاص بالتاريخ في النموذج هو # date_field import datetime tomorrow_date = self.date_field.date() + datetime.timedelta(days=1) لإضافة رسالة عندما يأتي هذا اليوم يمكنك استعمال الجافا سكربت، حيث أنه يمكنك كتابة view تمثل endpoint على السيرفر، بحيث يقوم كود الجافا سكربت باستدعاءه كل فترة للتحقق من الوقت. و عندما نصل إلى الوقت المحدد نظهر رسالة. طريقة أخرى هي إضافة مهمة مجدولة في دجانغو. مثلاً يمكن إضافة مهمة يومية بواسطة مكتبة celery كما يلي: from celery.schedules import crontab from celery.task import periodic_task @periodic_task(run_every=crontab(minute=0, hour=0)) def every_day(): print("سيتم طباعة هذه الرسالة كل يوم في منتصف اللليل") و بالتالي يمكنك استعمال هذا للتحقق من التاريخ داخل هذا التابع و طباعة الرسالة المناسبة. اقتباس
0 محمد Fahmy نشر 26 مايو 2023 أرسل تقرير نشر 26 مايو 2023 يمكن القيام بذلك باستخدام مكتبة datetime المدمجة في Python و Django. في ملف العرض views.py، يمكن استيراد datetime والوصول إلى حقول النموذج الخاصة بالتاريخ في الطلب وتطبيق العمليات الحسابية عليها. يمكن استخدام دالة timedelta لإضافة يوم واحد إلى التاريخ والحصول على التاريخ التالي. على سبيل المثال، يمكن استخدام الكود التالي: from datetime import datetime, timedelta from django.shortcuts import render def my_view(request): today = datetime.today().date() # الحصول على التاريخ الحالي tomorrow = today + timedelta(days=1) # الحصول على التاريخ التالي message = '' if today == my_model.date_field: # إذا كان التاريخ الحالي هو نفس التاريخ المخزن في حقل التاريخ في النموذج message = "Today is the date!" # إضافة رسالة إذا كان اليوم هو نفس التاريخ المخزن في حقل التاريخ context = { 'today': today, 'tomorrow': tomorrow, 'message': message } return render(request, 'my_template.html', context) في هذا المثال، يتم استخدام "datetime.today().date()" للحصول على التاريخ الحالي، ثم يتم إضافة يوم واحد باستخدام "timedelta(days=1)" للحصول على التاريخ التالي. ثم يتم فحص ما إذا كان التاريخ الحالي يساوي التاريخ المخزن في حقل التاريخ في النموذج، وإذا كان الأمر كذلك، يتم تعيين الرسالة المطلوبة. يمكن إضافة هذا الكود إلى دالة العرض في views.py، ويتم تمرير السياق الذي يحتوي على المتغيرات "today" و "tomorrow" و "message" إلى قالب HTML الذي يتم استخدامه لعرض الصفحة. على سبيل المثال، يمكن إنشاء ملف قالب HTML جديد بعنوان "my_template.html" ويمكن استخدام الكود التالي كمثال: <!DOCTYPE html> <html> <head> <title>My Template</title> </head> <body> <p>Today's date is {{ today }}.</p> <p>Tomorrow's date is {{ tomorrow }}.</p> {% if message %} <p>{{ message }}</p> {% endif %} </body> </html> اقتباس
0 Mustafa Suleiman نشر 26 مايو 2023 أرسل تقرير نشر 26 مايو 2023 بالإضافة إلى ما تم ذكره، تستطيع استخدام إشارات Django لتنفيذ العملية الحسابية وعرض الرسالة المناسبة عند وصول تاريخ محدد في حقل التاريخ في نموذج Django. وإليك مثال لكيفية تنفيذ ذلك باستخدام إشارات Django: 1- في ملف models.py الخاص بالمشروع، استورد الإشارات والمكتبة datetime: from django.db import models from django.db.models.signals import post_save from django.dispatch import receiver from datetime import date class YourModel(models.Model): date_field = models.DateField() @receiver(post_save, sender=YourModel) def check_date(sender, instance, **kwargs): if instance.date_field == date.today(): # تنفيذ العملية الحسابية next_day = instance.date_field + timedelta(days=1) # عرض الرسالة print("تاريخ اليوم هو اليوم!") قمت باستيراد الإشارات والمكتبة datetime. ثم تعريف نموذج (YourModel) الذي يحتوي على حقل التاريخ (date_field). ثم تعريف دالة إشارة (signal function) باستخدام الديكورات (decorators) @receiver و @post_save للتأكيد على أن الدالة تستجيب لحدث حفظ النموذج بعد الحفظ. وفي تلك الدالة، يتم التحقق مما إذا كان حقل التاريخ في النموذج يساوي تاريخ اليوم، وإذا كان الأمر كذلك، تنفذ العملية الحسابية المطلوبة (وفي المثال تم طباعة اليوم التالي) وعرض الرسالة. تأكد من تسجيل الإشارة في ملف المشروع (apps.py) للتأكد من استدعائها عند تشغيل المشروع. اقتباس
السؤال
بيشوى اميل شفيق2
لو حصلت على تاريخ معين و ليكن اليوم من حقل التاريخ فى الموديل فى Django و اريد اضافة عملية حسابية لزيادة يوم اخر (اليوم التالى) و اضافة رسالة عندما ياتى هذا اليوم او قبلة
كيف؟؟؟
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.