.
جنگو-خصوصی-نمایش ها یک برنامه جنگو که یک الگوی مشترک در وب سایت فراهم می کند زمانی است که چند صفحه ها محافظت شده و نیاز به یک ورود به دیده شود و nbsp است؛ دکوراتورlogin_required اغلب در دستی می آید برای این شرایط. اما، الگوی دیگری است که بسیار رایج است که اکثر سایت ها محافظت شده است، با استثنا تنها تعداد کمی از صفحات که دولتی باقی می ماند (به عنوان مثال فرانت پیج، صفحه ثبت نام، و غیره). در این صورت، می توان آن را کاملا خسته کننده برای تزئین همه دیدگاه ها باlogin_required، و می توان آن را آسان برای فراموش کردن برای تزئین برخی از آنها.
جنگو-خصوصی-نمایش ها هر مشخصات محافظت و سپس شما اجازه می دهد به صراحت بگویم که دیدگاه های باید عمومی باشد. این باعث می شود همه چیز هر دو ساده تر و کمتر مستعد خطا.
نصب
جنگو-خصوصی-نمایش ها از PyPI نصب کنید.
تصویر در تصویر جنگو-خصوصی-نمایش ها نصب
اضافه کردن میان privateviews به تنظیمات شما:
MIDDLEWARE_CLASSES = (
& nbsp؛ در ...
& nbsp؛ در privateviews.middleware.LoginRequiredMiddleware
)
اعلام نمایش ها عمومی
در این مرحله، تمام نظرات شما را جز settings.LOGIN_URL شما نیاز به سیستم وارد شوید. بنابراین، ما در حال حاضر نیاز به مشخص چند نمایش ها که باید عمومی باشد. سه راه مختلف در اختیار شما وجود دارد: با استفاده از یک دکوراتور خاص، فهرست دیدگاه های عمومی، و یا فهرست مسیرهای URL عمومی است.
با استفاده از یک دکوراتور
با استفاده ازlogin_not_required شما به صراحت می توانید مشخصات را مجبور به مردم است. برای مثال:
از privateviews.decorators واردات login_not_required
login_not_required
دف فرانت پیج (درخواست):
& nbsp؛ در ...
در این مورد، مشخصات فرانت پیج به درستی نمایش داده حتی اگر شما برون مجدد نمی وارد سایت شوید.
مثال نمایش ها عمومی
اگر شما نمی برون T دسترسی مستقیم به تغییر دیدگاه برون کد (به عنوان مثال، آن برون در یک برنامه شخص ثالث)، شما هنوز هم می تواند این دیدگاه را مجبور به عمومی با اضافه کردن آن به تنظیمات PUBLIC_VIEWS در فایل تنظیمات خود را. در اینجا برون به عنوان مثال اگر شما برون مجدد با استفاده از سیستم django.contrib.auth و برنامه جنگو ثبت نام:
PUBLIC_VIEWS = [
& nbsp؛ در 'django.contrib.auth.views.login،
& nbsp؛ در 'django.contrib.auth.views.password_reset_done،
& nbsp؛ در 'django.contrib.auth.views.password_reset،
& nbsp؛ در 'django.contrib.auth.views.password_reset_confirm،
& nbsp؛ در 'django.contrib.auth.views.password_reset_complete،
& nbsp؛ در 'registration.views.register،
& nbsp؛ در 'registration.views.activate،
]
مثال URL مسیرهای عمومی
سومین و آخرین راه این است که به طور مستقیم مشخص مسیرهای URL (به عنوان عبارات منظم) برای صفحات شما می خواهید به مردم است. این می تواند مفید باشد، برای مثال، اگر یک صفحه است که توسط یک نمایش عمومی ارائه شده دارد. این نیز مفید است اگر شما در خدمت فایل های رسانه ای خود را قرار طریق جنگو (فقط در حالت توسعه توصیه می شود). برای آن، شما نیاز به اضافه کردن PUBLIC_PATHS تنظیم در فایل تنظیمات خود را. در اینجا برون به عنوان مثال:
PUBLIC_PATHS = [
& nbsp؛ از '^٪ s' را٪ MEDIA_URL،
& nbsp؛ از '^ / حساب / ثبت نام / کامل / $'، # استفاده از 'direct_to_template' مشخصات عمومی
]
ساخت 404 نمایش ها خصوصی
در این مرحله غیر حضور در انجمن کاربران هنوز هم قادر به دیدن 404 پاسخ اگر آنها بازدید URL که به نمایش بر روی نقشه نخواهد بود. که ایده آل نیست آن را به عنوان نباید ممکن است برای تعیین ساختار سایت بدون اینکه وارد سایت شوید.
برای اینکه 404 نمایش ها خصوصی به همه به جز حضور در انجمن کاربران، اضافه کردن زیر را به عنوان خط نهایی در urlconf سطح بالا شما:
الگوهای urlpatterns = (''،
& nbsp؛ در ...
& nbsp؛ در آدرس (R '^'، 'privateviews.views.private_404')
)
مورد نیاز:
پایتون
جنگو
نظر یافت نشد