django-private-views

ภาพหน้าจอของซอฟแวร์:
django-private-views
รายละเอียดซอฟแวร์:
รุ่น: 1.0
วันที่อัพโหลด: 15 Apr 15
ผู้พัฒนา: Julien Phalip
การอนุญาต: ฟรี
ความนิยม: 12

Rating: 5.0/5 (Total Votes: 1)

Django-วิวส่วนตัวเป็น app Django ที่ให้รูปแบบที่พบบ่อยในเว็บไซต์คือเมื่อไม่กี่หน้าได้รับการคุ้มครองและต้องเข้าสู่ระบบเพื่อให้สามารถเข้าถึง & nbsp;. มัณฑนา @login_required มักจะมาในสะดวกสำหรับสถานการณ์เหล่านี้ แต่รูปแบบอื่นที่เป็นบ่อยคือเมื่อส่วนใหญ่ของเว็บไซต์ที่มีการป้องกันมีเพียงไม่กี่ข้อยกเว้นของหน้าเว็บที่ยังคงอยู่ในที่สาธารณะ (เช่น FrontPage, หน้าการลงทะเบียน ฯลฯ ) ในกรณีที่มันจะค่อนข้างน่าเบื่อในการตกแต่งทุกมุมมองกับ @login_required และมันสามารถเป็นเรื่องง่ายที่จะลืมที่จะตกแต่งบางส่วนของพวกเขา
Django เอกชนวิวปกป้องทุกมุมมองและจากนั้นช่วยให้คุณได้บอกว่ามุมมองที่ควรจะเป็นที่สาธารณะ สิ่งนี้ทำให้ทั้งง่ายและไม่ผิดพลาดได้ง่าย
การติดตั้ง
ติดตั้ง django เอกชนวิวจาก PyPI
PIP ติดตั้งวิว django เอกชน
เพิ่มมิดเดิลแวร์ privateviews การตั้งค่าของคุณ:
MIDDLEWARE_CLASSES = (
& nbsp; ...
& nbsp; privateviews.middleware.LoginRequiredMiddleware
)
ประกาศมุมมองสาธารณะ
ณ จุดนี้ทุกมุมมองของคุณยกเว้น settings.LOGIN_URL จะทำให้คุณต้องเข้าสู่ระบบ. ดังนั้นตอนนี้เราจำเป็นต้องระบุมุมมองที่ไม่กี่คนที่ควรจะเป็นที่สาธารณะ มีสามวิธีที่แตกต่างกันในการกำจัดของคุณ: ใช้มัณฑนากรพิเศษรายการมุมมองของประชาชนหรือชื่อเส้นทาง URL สาธารณะ
ใช้มัณฑนากร
ใช้ @login_not_required คุณอย่างชัดเจนสามารถบังคับให้มุมมองที่จะเป็นสาธารณะ ตัวอย่างเช่น:
จากการนำเข้า privateviews.decorators login_not_required
@login_not_required
def FrontPage (ตามคำขอ)
& nbsp; ...
ในกรณีนี้มุมมองของ FrontPage จะแสดงอย่างถูกต้องแม้ว่าคุณ & rsquo; อีกครั้งไม่ได้เข้าสู่
รายการมุมมองของประชาชน
ถ้าคุณ don & rsquo; t มีการเข้าถึงโดยตรงในการปรับเปลี่ยนมุมมอง & rsquo; โค้ด (เช่นมัน & rsquo; ในแอพลิเคชันของบุคคลที่สาม) คุณยังสามารถบังคับให้มุมมองที่เป็นสาธารณะโดยเพิ่มการตั้งค่า PUBLIC_VIEWS ในไฟล์ตั้งค่าของคุณ ที่นี่และ rsquo; s เช่นถ้าคุณ & rsquo; อีกครั้งโดยใช้ระบบ django.contrib.auth และการประยุกต์ใช้ django ลงทะเบียน:
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 Listing เส้นทางสาธารณะ
วิธีที่สามและสุดท้ายคือการโดยตรงระบุเส้นทาง URL (เช่นการแสดงออกปกติ) สำหรับหน้าเว็บที่คุณต้องการที่จะเป็นสาธารณะ นี้จะมีประโยชน์สำหรับตัวอย่างเช่นถ้าหน้ามีการแสดงโดยมุมมองทั่วไป นอกจากนี้ยังจะเป็นประโยชน์ถ้าคุณจะให้บริการไฟล์สื่อของคุณแบบคงที่ผ่าน Django (แนะนำเฉพาะในโหมดการพัฒนา) เพื่อที่คุณจะต้องเพิ่มการตั้งค่า PUBLIC_PATHS ในไฟล์ตั้งค่าของคุณ ที่นี่และ rsquo; s ตัวอย่างเช่น:
PUBLIC_PATHS = [
& nbsp; '^% s'% MEDIA_URL,
& nbsp; '^ / บัญชี / ลงทะเบียน / สมบูรณ์ / $', # ใช้ 'direct_to_template' มุมมองทั่วไป
]
การทำ 404 ครั้งส่วนตัว
ณ จุดนี้ที่ไม่ได้เข้าสู่ระบบผู้ใช้จะยังคงสามารถที่จะเห็นการตอบสนอง 404 ถ้าพวกเขาเข้าเยี่ยมชม URL ที่ไม่ได้ไปที่มุมมองแผนที่ ที่ไม่เหมาะเป็นก็ไม่ควรที่จะเป็นไปได้ในการกำหนดโครงสร้างเว็บไซต์โดยไม่ต้องถูกบันทึกไว้ใน
เพื่อให้ 404 มุมมองส่วนตัวถึงทุกคนยกเว้นผู้ใช้เข้าสู่ระบบเพิ่มต่อไปนี้เป็นบรรทัดสุดท้ายใน urlconf ระดับบนสุดของคุณ:
urlpatterns รูปแบบ = ('',
& nbsp; ...
& nbsp; url (R '^', 'privateviews.views.private_404')
)

ต้องการ

  • หลาม
  • Django

ซอฟแวร์อื่น ๆ ของนักพัฒนา Julien Phalip

django-treemenus
django-treemenus

12 May 15

glamkit-adminboost
glamkit-adminboost

11 May 15

ความคิดเห็นที่ django-private-views

ความคิดเห็นที่ไม่พบ
เพิ่มความคิดเห็น
เปิดภาพ!