django giả là một ứng dụng Django sử dụng để cập nhật các tác giả và updated_by lĩnh vực tự động với request.user khi các model đã tạo / thay đổi.
Ngoài ra nếu bạn quá lười biếng để viết tác giả = models.ForeignKey (User, _ ('tác giả'), related_name ...) để mỗi mô hình, chỉ cần thêmwith_author trang trí trên cùng của lớp học làm cho bạn hạnh phúc.
Cài đặt
Thư viện này là trên PyPI để bạn có thể cài đặt nó với:
pips cài đặt django giả
hoặc từ github:
pips cài đặt git + https: //github.com/lambdalisue/django-author.git
Cách sử dụng
1. Add 'tác giả' để INSTALLED_APPS của bạn trên settings.py
2. Add 'author.middlewares.AuthorDefaultBackendMiddleware' để MIDDLEWARE_CLASSES của bạn nếu bạn sử dụng phụ trợ tác giả mặc định
3. Thêm tác giả và lĩnh vực updated_by tới mô hình mà bạn muốn có tác giả và updated_by lĩnh vực thủ công hoặc sử dụng trang tríwith_author như dưới đây:
& Nbsp; từ các mô hình nhập khẩu django.db
& Nbsp; từ author.decorators nhập with_author
& Nbsp;with_author
& Nbsp; class Entry (models.Model):
& Nbsp; title = models.CharField ("title", max_length = 50)
& Nbsp; body = models.TextField ('body')
4. Xong. Tác giả và các lĩnh vực updated_by Bây giờ bạn đã tự động cập nhật
& Nbsp; Nếu bạn đang ở trong dễ nuôi, xem author_test thư mục cho mẫu sử dụng.
Cài đặt
AUTHOR_BACKEND
& Nbsp; Class hay chuỗi con đường của backend. phụ trợ được sử dụng để xác định người sử dụng khi đối tượng được tạo ra / cập nhật.
AUTHOR_CREATED_BY_FIELD_NAME
& Nbsp; Một tên của trường. các thiết lập cũng interfer tên của trường tạo ra bởiwith_author trang trí. mặc định là 'giả'
AUTHOR_UPDATED_BY_FIELD_NAME
& Nbsp; Một tên của trường. các thiết lập cũng interfer tên của trường tạo ra bởiwith_author trang trí. mặc định là 'updated_by'
AUTHOR_DO_NOT_UPDATE_WHILE_USER_IS_NONE
& Nbsp; Không cập nhật tác giả hoặc trường updated_by khi người dùng phát hiện là None. mặc định là True
AUTHOR_MODELS
& Nbsp; Kiểm tra tín hiệu chỉ các mô hình này. mặc định là None
AUTHOR_IGNORE_MODELS
& Nbsp; Không kiểm tra tín hiệu cho các mô hình này. mặc định là ['auth.user', 'auth.group', 'auth.permission', 'contenttype.contenttype']
Backend
Các thread_locals sử dụng phụ trợ mặc định storategy để có được yêu cầu hiện tại trong cuộc gọi tín hiệu.
Nếu bạn muốn thay đổi các chiến lược hay bất cứ điều gì, tạo backend của riêng bạn.
Một phụ trợ là một lớp mà có phương pháp để xác định get_user người dùng hiện tại.
AuthorDefaultBackend
& Nbsp; Mặc định phụ trợ. Điều này phụ trợ trở về None khi không có yêu cầu tìm thấy hoặc AnonymousUser tạo / cập nhật đối tượng.
AuthorSystemUserBackend
& Nbsp; người sử dụng hệ thống phụ trợ. Sử dụng hệ thống phụ trợ trở lại này khi không có yêu cầu tìm thấy hoặc AnonymousUser tạo / cập nhật đối tượng.
& Nbsp; người sử dụng hệ thống được xác định bằng phương pháp get_system_user và mặc định là User.objects.get (pk = 1)
Yêu cầu :
- Python
- Django
Bình luận không