Django-נייד הוא יישום Django שמספק דרך פשוטה כדי לזהות דפדפנים ניידים ונותן לך כלים ביד שלך כדי להבהיר כמה תבניות שונות כדי לספק גרסה ניידת של האתר שלך למשתמש.
הרעיון הוא להשאיר את הדעות שלך בדיוק אותו הדבר אבל למחלף שקוף התבניות משמשות לעיבוד תגובה. הדבר נעשה בשני שלבים:
1. תווך קובע העדפת הלקוח כדי להציג את האתר שלך. לדוגמה: אם הוא רוצה להשתמש בטעם הנייד או טעם שולחן עבודה מלא.
2. מטעין התבנית לוקח אז טיפול של בחירת התבניות הנכונות המבוססות על הטעם שהתגלה בתווך.
התקנה
טרום דרישות: django_mobile תלוי במסגרת המפגש של Django. אז לפני שאתה מנסה להשתמש בdjango_mobile לוודא כי מסגרת המפגשים מופעלת ועובדת.
1. התקן django_mobile עם הכלי האהוב עליך פיתון, למשל עם easy_install django_mobile או PIP להתקין django_mobile.
2. מוסיף django_mobile לINSTALLED_APPS הגדרה בsettings.py.
3. מוסיף django_mobile.middleware.MobileDetectionMiddleware להגדרת MIDDLEWARE_CLASSES שלך.
4. מוסיפים להגדרת django_mobile.middleware.SetFlavourMiddleware MIDDLEWARE_CLASSES שלך. ודא שהוא מופיע לאחר MobileDetectionMiddleware וגם לאחר SessionMiddleware.
5. להוסיף django_mobile.loader.Loader כפריט ראשון לרשימת TEMPLATE_LOADERS בsettings.py.
6. הוסף django_mobile.context_processors.flavour להגדרת TEMPLATE_CONTEXT_PROCESSORS שלך.
עכשיו אתה אמור להיות מסוגל להשתמש ביחידה ניידת בתפארתה. קראו בהמשך של איך דברים עובדים וניתן צבטו שהגדרות כדי לשנות את התנהגותו של Django-נייד.
שימוש
הרעיון של Django-נייד הוא לבנות סביב הרעיונות של טעמים שונים עבור האתר שלך. לדוגמא הגרסה הניידת מתוארת כטעם אפשרי אחד, גרסת שולחן עבודה כאחרת.
זה מאפשר לספק הרבה עיצובים אפשריים ולא רק הבחנה בין חוויית שולחן עבודה מלאה וגרסה ניידת אחד. אתה יכול לעשות את הטעמים ניידים מרובים לדוגמא זמינה אחד לספארי נייד על iPhone ואנדרואיד, כמו גם אחד לאופרה ואחד נוסף לטבליות האינטרנט כמו iPad.
הערה: כברירת מחדל Django-נייד מבחין רק בין טעם מלא ונייד.
לאחר הטעם הנכון נבחר על ידי איכשהו middlewares, זה שהוקצה לתכונת request.flavour. אתה יכול להשתמש בזה בדעות שלך כדי לספק היגיון נפרד.
טעם זה אז הוא משתמש כדי לבחור בשקיפות תבניות מותאמות אישית לטעם המיוחד הזה. התבנית שנבחרה תהיה הטעם הנוכחי קידומת לשם התבנית שאתה באמת רוצה להבהיר. משמעות הדבר היא כאשר render_to_response ('index.html', ...) נקרא עם הטעם הנייד להיות פעיל יהיה למעשה לחזור תגובה שניתנו עם תבנית index.html / הניידת. עם זאת, אם תבנית בטעם זה אינה זמינה זה בחינניות fallback לתבנית ברירת המחדל index.html.
במקרים מסוימים שלה אינה הדרך הרצויה לי תבניות נפרדות לחלוטין לכל טעם. ניתן גם להשתמש ב{ {}} טעם משתנה תבנית לשנות רק היבטים קטנים של תבנית אחת. דוגמא קצרה:
<ראש>
& Nbsp;
<גוף>
& Nbsp; ...