القائمة الرئيسية

الصفحات

كيفية برمجة تطبيق تعقب العادات باستخدام Python Django

How to Code، Habit Tracker App Using Python and Django، How to Code Habit Tracker App Using Python and Django، نشر تطبيقات Django، خادم Gunicorn، خادم Nginx، تكوين Nginx لـ Django، جمع الملفات الثابتة Django، نشر Django على Linux، حفظ بيانات Django، تخزين بيانات العادات Django، تخزين بيانات تتبع العادات Django، مصادقة Django، تسجيل الدخول Django، تسجيل الخروج Django، مسارات URL Django، تعريف مسارات Django، ربط طرق العرض بمسارات URL Django، طرق عرض Django، قائمة العادات Django view، إضافة عادة Django view، تسجيل التقدم Django view، نماذج Django، إنشاء نماذج Django، نموذج إضافة عادة Django، قوالب Django، إنشاء قوالب Django، قائمة العادات Django HTML، إضافة عادة Django HTML، نماذج Django، تعريف نماذج Django، نماذج العادات Django، نماذج تتبع العادات Django، إنشاء تغييرات Django، تنفيذ التغييرات Django، إعداد Django، إنشاء مشروع Django، إنشاء تطبيق Django، برمجة تطبيق تعقب عادات بايثون، تطوير تطبيق عادات Django، تطبيق تتبع بسيط Django، واجهة مستخدم تعقب عادات Django، نماذج Django للعادات والتتبع، عرض العادات Django، تسجيل التقدم Django، حفظ بيانات التتبع Django، نشر تطبيقات Django لتتبع العادات، تطبيق تعقب العادات، برمجة تطبيق تعقب العادات باستخدام Python Django، كيفية برمجة تطبيق تعقب العادات باستخدام Python Django، كيفية برمجة تطبيق، تعقب العادات باستخدام Python Django، كيفية برمجة تطبيق تعقب العادات باستخدام Python Django، تطبيق تعقب العادات، إنشاء قوالب Django، مسارات URL Django، إنشاء مشروع Django، إنشاء تطبيق Django،



كيفية برمجة تطبيق تعقب العادات باستخدام Python Django



هل تتساءل عن كيفية برمجة تطبيق تعقب العادات باستخدام Python Django؟
في هذا الدليل الشامل، سنكشف الخطوات الأساسية لإنشاء تطبيق تعقب العادات بسيط 
ولكنه فعال لمساعدة المستخدمين على تتبع عاداتهم اليومية. 
سنبدأ بشرح كيفية تصميم وإنشاء واجهة مستخدم سهلة الاستخدام في Django لعرض
 العادات وتسجيل التقدم. ثم سنتناول كيفية تعريف نماذج البيانات في Django لتخزين معلومات
 العادات وسجل التتبع بشكل منظم. بعد ذلك، سنوضح كيفية حفظ هذه البيانات في قاعدة
 البيانات باستخدام Django ORM. وأخيرًا، سنقدم نظرة عامة على كيفية نشر تطبيق 
Django ليصبح متاحًا للمستخدمين. 
تابع معنا لتتعلم كيفية برمجة تطبيق تعقب العادات باستخدام Python Django خطوة بخطوة.

خطوات برمجة تطبيق تعقب العادات باستخدام Python Django


الآن، وبعد أن وضعنا الأساس لفهم هدفنا في بناء تطبيق تعقب العادات، 
سنتعمق في الخطوات العملية لتحقيق هذا الهدف. 
في هذا القسم، سنقوم بتقسيم عملية تطوير هذا التطبيق إلى مراحل منظمة وواضحة.
 سنبدأ بالخطوة الأولى وهي إعداد بيئة التطوير الخاصة بنا وإنشاء مشروع
 Django جديد، الذي سيكون بمثابة الحاوية لتطبيقنا لتتبع العادات. هيا بنا نبدأ في
 تجهيز القاعدة الصلبة التي سينطلق منها نظامنا لمساعدة المستخدمين على بناء عادات إيجابية!

الخطوة 1: إعداد بيئة التطوير وإنشاء مشروع Django

* تأكد من تثبيت Python و pip على جهازك. ثم قم بتثبيت Django:
pip install django
--

*أنشئ مشروع Django جديدًا باسم habit_tracker_app:
django-admin startproject habit_tracker_app
cd habit_tracker_app
--

*أنشئ تطبيقًا داخل المشروع باسم tracker:
python manage.py startapp tracker
--

الخطوة 2: تعريف نماذج البيانات (Models)

في ملف tracker/models.py، سنقوم بتعريف نماذج البيانات
 الأساسية للعادات وسجل التتبع:

        

Python

from django.db import models
from django.contrib.auth.models import User
from django.utils import timezone

class Habit(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    name = models.CharField(max_length=255)
    description = models.TextField(blank=True, null=True)
    created_at = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.name

class HabitRecord(models.Model):
    habit = models.ForeignKey(Habit, on_delete=models.CASCADE)
    date = models.DateField(default=timezone.now)
    completed = models.BooleanField(default=False)

    class Meta:
        unique_together = ('habit', 'date') # منع تسجيل التقدم لنفس العادة في نفس اليوم مرتين
        ordering = ['-date']

    def __str__(self):
        return f"{self.habit.name} - {self.date}"


* أضف تطبيق tracker إلى قائمة INSTALLED_APPS في 
ملف habit_tracker_app/settings.py :
Python

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'tracker', # إضافة تطبيق tracker هنا
]
--

* قم بإنشاء التغييرات وتنفيذها :
python manage.py makemigrations tracker
python manage.manage.py migrate
--




الخطوة 3: إنشاء واجهة المستخدم (Templates)

أنشئ مجلدًا باسم templates داخل مجلد تطبيق tracker. ثم أنشئ ملفات HTML التالية:
* tracker/templates/tracker/habit_list.html:
 لعرض قائمة العادات وتسجيل التقدم :

        

HTML

<!DOCTYPE html>
<html>
<head>
    <title>متعقب العادات</title>
</head>
<body>
    <h1>عاداتي</h1>
    <ul>
        {% for habit in habits %}
            <li>
                {{ habit.name }}
                <form method="post" action="{% url 'toggle_habit' habit.id %}">
                    {% csrf_token %}
                    <input type="checkbox" name="completed" {% if habit.habitrecord_set.filter(date=today).first.completed %}checked{% endif %} onchange="this.form.submit()">
                    <label for="completed">تم اليوم</label>
                </form>
            </li>
        {% empty %}
            <li>لا توجد عادات مضافة حتى الآن.</li>
        {% endfor %}
    </ul>
    <p><a href="{% url 'add_habit' %}">إضافة عادة جديدة</a></p>
</body>
</html>


* tracker/templates/tracker/add_habit.html: 
لنموذج إضافة عادة جديدة :
HTML

<!DOCTYPE html>
<html>
<head>
    <title>إضافة عادة جديدة</title>
</head>
<body>
    <h1>إضافة عادة جديدة</h1>
    <form method="post">
        {% csrf_token %}
        {{ form.as_p }}
        <button type="submit">حفظ العادة</button>
    </form>
    <p><a href="{% url 'habit_list' %}">العودة إلى قائمة العادات</a></p>
</body>
</html>
--

الخطوة 4: إنشاء النماذج (Forms)

في ملف tracker/forms.py (إذا لم يكن موجودًا، قم بإنشائه) :
Python

from django import forms
from .models import Habit

class HabitForm(forms.ModelForm):
    class Meta:
        model = Habit
        fields = ['name', 'description']
--




الخطوة 5: إنشاء طرق العرض (Views)

في ملف tracker/views.py، سنقوم بإنشاء طرق العرض التي تتحكم
 في منطق التطبيق وتعرض القوالب :

        

Python

from django.shortcuts import render, redirect, get_object_or_404
from django.contrib.auth.decorators import login_required
from django.utils import timezone
from .models import Habit, HabitRecord
from .forms import HabitForm

@login_required
def habit_list(request):
    habits = Habit.objects.filter(user=request.user)
    today = timezone.now().date()
    context = {'habits': habits, 'today': today}
    return render(request, 'tracker/habit_list.html', context)

@login_required
def add_habit(request):
    if request.method == 'POST':
        form = HabitForm(request.POST)
        if form.is_valid():
            habit = form.save(commit=False)
            habit.user = request.user
            habit.save()
            return redirect('habit_list')
    else:
        form = HabitForm()
    context = {'form': form}
    return render(request, 'tracker/add_habit.html', context)

@login_required
def toggle_habit(request, habit_id):
    habit = get_object_or_404(Habit, id=habit_id, user=request.user)
    today = timezone.now().date()
    record, created = HabitRecord.objects.get_or_create(habit=habit, date=today)
    record.completed = not record.completed
    record.save()
    return redirect('habit_list')


** ملاحظة : تتطلب هذه الطرق تسجيل دخول المستخدم. تأكد من إعداد نظام
 مصادقة المستخدم في Django (يمكن استخدام تطبيق django.contrib.auth).

الخطوة 6: تعريف مسارات URL (URLs)

في ملف tracker/urls.py (إذا لم يكن موجودًا، قم بإنشائه):
Python

from django.urls import path
from . import views

urlpatterns = [
    path('', views.habit_list, name='habit_list'),
    path('add/', views.add_habit, name='add_habit'),
    path('toggle/<int:habit_id>/', views.toggle_habit, name='toggle_habit'),
]
--

* قم بتضمين مسارات تطبيق tracker في ملف habit_tracker_app/urls.py:
Python

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('accounts/', include('django.contrib.auth.urls')), # لتسجيل الدخول والخروج
    path('', include('tracker.urls')), # تضمين مسارات تطبيق tracker
]
--

الخطوة 7: تفعيل مصادقة المستخدم (اختياري ولكن موصى به)

إذا لم تقم بذلك بالفعل، قم بتفعيل تطبيق django.contrib.auth وتكوين
 مسارات تسجيل الدخول والخروج في ملف habit_tracker_app/urls.py كما 
هو موضح أعلاه. يمكنك أيضًا إنشاء قوالب تسجيل الدخول (login.html) وتسجيل 
المستخدم (registration/register.html) إذا كنت ترغب في توفير تسجيل مستخدم جديد.

الخطوة 8: حفظ النقاط (بيانات العادات وسجل التتبع)

لقد قمنا بالفعل بحفظ بيانات العادات وسجل التتبع في قاعدة البيانات في طرق 
العرض add_habit و toggle_habit في ملف tracker/views.py. 
يتم إنشاء سجلات جديدة في نماذج Habit و HabitRecord لتخزين
 معلومات العادات والتقدم اليومي.

الخطوة 9: نشر التطبيق

لنشر تطبيق Django، يمكنك اتباع نفس الخطوات العامة المذكورة في
 قسم النشر في مثال المتجر الإلكتروني البسيط (باستخدام Gunicorn و Nginx أو
 أي خادم ويب و WSGI آخر تفضله). تأكد من تكوين خادم الويب الخاص بك 
لخدمة الملفات الثابتة التي تم جمعها بواسطة python manage.py collectstatic.

الخلاصة
لقد سرنا خلال الخطوات الأساسية لبناء تطبيق بسيط لتعقب العادات باستخدام
 Python Django. بدءًا من إعداد المشروع وتعريف نماذج البيانات، مرورًا
 بإنشاء واجهة المستخدم والنماذج وطرق العرض والمسارات، وصولًا إلى حفظ
 بيانات العادات وسجل التتبع ونشر التطبيق. يمكنك الآن توسيع هذا التطبيق 
بإضافة المزيد من الميزات مثل عرض التقارير والإحصائيات، وتحديد أهداف العادات،
 وإرسال تذكيرات. Django يوفر لك إطار عمل قويًا لبناء تطبيقات ويب تفاعلية ومفيدة لتتبع العادات.



جدول المحتويات