وجانغو المؤلف هو التطبيق جانغو تستخدم لتحديث المؤلف وupdated_by الحقول تلقائيا مع request.user عندما أنشأت نموذج / تغييرها.
أيضا إذا كنت كسول جدا لكتابة مؤلف = models.ForeignKey (العضو، _ ('المؤلف')، related_name ...) لكل نموذج، فقط إضافةwith_author الديكور إلى أعلى الطبقة يجعلك سعيدا.
تثبيت
هذه المكتبة هي على PyPI حتى تتمكن من تثبيته مع:
نقطة تثبيت جانغو المؤلف
أو من جيثب:
PIP تثبيت بوابة + HTTPS: //github.com/lambdalisue/django-author.git
استعمال
1. أضف 'المؤلف لINSTALLED_APPS الخاصة بك على settings.py
2. أضف 'author.middlewares.AuthorDefaultBackendMiddleware "لMIDDLEWARE_CLASSES الخاص بك إذا كنت تستخدم الافتراضي مؤلف الخلفية
3. إضافة المؤلف والميدان updated_by إلى النماذج التي كنت تريد أن يكون المؤلف وupdated_by الحقول يدويا أو استخدامwith_author الديكور مثل أدناه:
& nbsp؛ من نماذج استيراد django.db
& nbsp؛ من author.decorators استيراد with_author
على & nbsp؛with_author
على & nbsp؛ الطبقة الدخول (models.Model):
على & nbsp؛ عنوان = models.CharField ('عنوان'، MAX_LENGTH = 50)
على & nbsp؛ الجسم = models.TextField ('الهيئة')
4. تم. المؤلف وupdated_by حقول الآن كنت قد قمت بتحديث تلقائيا
& nbsp؛ إذا كنت في truble، انظر author_test دليل لعينة الاستخدام.
الإعدادات
AUTHOR_BACKEND
على & nbsp؛ الفئة أو مسار سلسلة من الواجهة الخلفية. يتم استخدام الواجهة الخلفية لتحديد المستخدم عند إنشاء كائن / المحدثة.
AUTHOR_CREATED_BY_FIELD_NAME
على & nbsp؛ واسم المجال. الإعداد أيضا INTERFER اسم الحقل التي أنشأتهاwith_author الديكور. الافتراضي هو "مؤلف"
AUTHOR_UPDATED_BY_FIELD_NAME
على & nbsp؛ واسم المجال. الإعداد أيضا INTERFER اسم الحقل التي أنشأتهاwith_author الديكور. الافتراضي هو "updated_by"
AUTHOR_DO_NOT_UPDATE_WHILE_USER_IS_NONE
على & nbsp؛ لا تقم بتحديث المؤلف أو الحقل updated_by عندما المستعمل الكشف هو لا شيء. الافتراضي هو صحيح
AUTHOR_MODELS
على & nbsp؛ تحقق إشارات فقط هذه النماذج. الافتراضي هو لا أحد
AUTHOR_IGNORE_MODELS
على & nbsp؛ لا تحقق إشارات لهذه النماذج. الافتراضي هو ['auth.user'، 'auth.group'، 'auth.permission'، 'contenttype.contenttype']
الخلفية
وthread_locals استخدام الخلفية الافتراضية storategy للحصول على الطلب الحالي في الدعوة الإشارة.
إذا كنت ترغب في تغيير استراتيجية أو أيا كان، وخلق الخلفية الخاصة بك.
والخلفية هي فئة التي لديها طريقة get_user لتحديد المستخدم الحالي.
AuthorDefaultBackend
على & nbsp؛ الخلفية الافتراضية. هذه الخلفية العودة لا أحد عندما يتم العثور على أي طلب أو AnonymousUser إنشاء كائن تحديث /.
AuthorSystemUserBackend
على & nbsp؛ الخلفية المستعمل النظام. هذا النظام المستخدم عودة الخلفية عندما وجد أي طلب أو AnonymousUser إنشاء كائن تحديث /.
على & nbsp؛ يتم تحديد مستخدم النظام مع طريقة get_system_user والافتراضي هو User.objects.get (PK = 1)
المتطلبات:
بيثون
جانغو
لم يتم العثور على التعليقات