Django-dynamicsites-Lite เป็น app Django ที่ขยายแพคเกจ django.contrib.sites มาตรฐานเพื่อให้สามารถ:
- เว็บไซต์ระบุแบบไดนามิกจากการร้องขอผ่านตัวกลาง
- ไม่จำเป็นต้องสำหรับโฮสต์เสมือนหลายที่ระดับเว็บเซิร์ฟเวอร์
- 301 เปลี่ยนเส้นทางไปยังชื่อโฮสต์ที่ยอมรับ
- เว็บไซต์อาจมี urls.py ของตัวเองและแม่แบบ
- ช่วยให้การแมปชื่อโฮสต์สภาพแวดล้อมที่จะใช้ชื่อโฮสต์ที่ไม่ใช่การผลิต (สำหรับใช้ใน dev, การแสดงละครการทดสอบสภาพแวดล้อม ฯลฯ )
การตั้งค่า
& nbsp; ก่อนที่คุณติด dynamicsites ให้แน่ใจว่าคุณได้กำหนดค่าอย่างน้อย 1 เว็บไซต์ในแผง admin เพราะเมื่อ dynamicsites มีการติดตั้งก็จะพยายามที่จะค้นหาเว็บไซต์จาก request.get_host () และถ้าไม่มีอยู่เสมอจะโยน 404
1. เพิ่มการตรวจสอบเพื่อ INSTALLED_APPS
& nbsp; INSTALLED_APPS = (
& nbsp; ...
& nbsp; 'dynamicsiteslite',
& nbsp;)
2. เพิ่มตัวกลาง MIDDLEWARE_CLASSES
& nbsp; MIDDLEWARE_CLASSES = (
& nbsp; ...
& nbsp; 'dynamicsiteslite.middleware.DynamicSitesMiddleware'
& nbsp;)
3. เพิ่มหน่วยประมวลผลบริบทเพื่อ TEMPLATE_CONTEXT_PROCESSORS
& nbsp; TEMPLATE_CONTEXT_PROCESSORS = (
& nbsp; ...
& nbsp; 'dynamicsiteslite.context_processors.current_site',
& nbsp;)
4. กำหนดค่า dynamicsites โดยการเพิ่ม SITES_DIR, SITES_PACKAGE, default_host และ HOSTNAME_REDIRECTS เพื่อ settings.py
& nbsp; SITES_DIR = os.path.join (os.path.dirname (__ file__) 'เว็บไซต์')
& nbsp; SITES_PACKAGE = 'เว็บไซต์'
& nbsp; default_host = 'www.your-default-site.com'
& nbsp; HOSTNAME_REDIRECTS = {
& nbsp; # 'redirect-src-1.com': 'www.redirect-dest-1.com',
& nbsp; ...
& nbsp;}
5. หากสภาพแวดล้อมในท้องถิ่นของคุณ (เช่น. ทดสอบ dev การแสดงละคร) ใช้ชื่อโฮสต์ที่แตกต่างกันกว่าการผลิตตั้งแผนที่ ENV_HOSTNAMES ได้เป็นอย่างดี
& nbsp; ENV_HOSTNAMES = {
& nbsp; 'ฉัน-site.dev': 'www.your-default-site.com',
& nbsp; ...
& nbsp;}
6. ทำให้เว็บไซต์ผบ (จาก SITES_DIR การตั้งค่าข้างต้น) และวางไฟล์ __init__.py ภายใน
7. ให้ผบไซต์สำหรับแต่ละเว็บไซต์คุณโฮสติ้ง (เช่น mkdir เว็บไซต์ / www_mysitesdomain_com.)
ต้องการ
- งูใหญ่
- Django
ความคิดเห็นที่ไม่พบ