জ্যাঙ্গো মোবাইল মোবাইল ব্রাউজার সনাক্ত করতে একটি সহজ উপায় উপলব্ধ করা হয় এবং ব্যবহারকারীকে আপনার সাইটের মোবাইল সংস্করণ প্রদান করা কিছু বিভিন্ন টেমপ্লেট রেন্ডার আপনার হাতে সরঞ্জাম দেয় যে একটি জ্যাঙ্গো অ্যাপ্লিকেশন.
ধারণা ঠিক একই আপনার মতামত রাখতে কিন্তু স্বচ্ছভাবে একটি প্রতিক্রিয়া দেখাতে ব্যবহৃত টেমপ্লেট অদলবদল করা হয়. এই দুটি ধাপে করা হয়:
1. একটি মিডলওয়্যার আপনার সাইট দেখতে ক্লায়েন্টের পছন্দ নির্ধারণ করে. উদাহরণস্বরূপ তিনি মোবাইল গন্ধ বা পূর্ণ ডেস্কটপ গন্ধ ব্যবহার করতে চায় না.
2. টেমপ্লেট লোডার মিডলওয়্যার সনাক্ত গন্ধ উপর ভিত্তি করে সঠিক টেমপ্লেট নির্বাচন করে তারপর যত্ন নেয়.
সংস্থাপনা
প্রাক আবশ্যক: django_mobile জ্যাঙ্গো এর সময় ফ্রেমওয়ার্কের উপর নির্ভর করে. আপনি django_mobile ব্যবহার সেশন কাঠামো সক্রিয় এবং কাজ করছে তা নিশ্চিত করতে চেষ্টা তাই আগে.
1. যেমন, আপনার প্রিয় পাইথন টুল, সঙ্গে django_mobile ইনস্টল করুন easy_install django_mobile সঙ্গে বা django_mobile ইনস্টল পিপ.
2. settings.py সেটিং আপনার INSTALLED_APPS করতে django_mobile যোগ করুন.
3. আপনার MIDDLEWARE_CLASSES সেটিং django_mobile.middleware.MobileDetectionMiddleware যোগ করুন.
4. আপনার MIDDLEWARE_CLASSES সেটিং django_mobile.middleware.SetFlavourMiddleware যোগ করুন. এটা MobileDetectionMiddleware পর এবং SessionMiddleware পর তালিকাভুক্ত করা হয় তা নিশ্চিত করুন.
5. settings.py আপনার TEMPLATE_LOADERS তালিকায় প্রথম আইটেম হিসাবে django_mobile.loader.Loader যোগ করুন.
6. আপনার TEMPLATE_CONTEXT_PROCESSORS সেটিং django_mobile.context_processors.flavour যোগ করুন.
এখন আপনি তার মহিমা জ্যাঙ্গো-মোবাইল ব্যবহার করতে সক্ষম হওয়া উচিত. কিছু কাজ এবং যা সেটিংস জ্যাঙ্গো মোবাইল এর আচরণ সংশোধন করতে tweaked করা যাবে কিভাবে নিচে পড়ুন.
ব্যবহারের
জ্যাঙ্গো-মোবাইল এর ধারণা আপনার সাইটের জন্য ভিন্ন স্বাদে ধারনা প্রায় নির্মাণ করা হয়. উদাহরণস্বরূপ মোবাইল সংস্করণ একটি সম্ভাব্য গন্ধ, অন্য হিসাবে ডেস্কটপ সংস্করণ হিসাবে বর্ণনা করা হয়.
এটি সম্ভব শুধু একটি সম্পূর্ণ ডেস্কটপ অভিজ্ঞতা এবং এক মোবাইল সংস্করণ মধ্যে পার্থক্য পরিবর্তে অনেক সম্ভাব্য ডিজাইন প্রদান করে তোলে. আপনি একাধিক মোবাইল স্বাদ পাওয়া যেমন করতে পারেন মোবাইল আইফোন এবং অ্যান্ড্রয়েড উপর আফ্রিকায় শিকার অভিযান হিসেবে অপেরা জন্য এক এবং iPad মত ইন্টারনেট ট্যাবলেট জন্য একটি অতিরিক্ত এক জন্য এক.
নোট: ডিফল্ট জ্যাঙ্গো-মোবাইল দ্বারা শুধুমাত্র পূর্ণ এবং মোবাইল গন্ধ মধ্যে আলাদা.
সঠিক গন্ধ একরকম middlewares দ্বারা নির্বাচিত হয়, এটি request.flavour বৈশিষ্ট্য নির্ধারিত হয়. আপনি পৃথক যুক্তিবিজ্ঞান প্রদান করার জন্য আপনার মতামত এই ব্যবহার করতে পারেন.
এই গন্ধ তারপর স্বচ্ছভাবে এই বিশেষ গন্ধ জন্য কাস্টম টেমপ্লেট এবং পছন্দ করে নিন ব্যবহার করা হয়. নির্বাচিত ফর্মা আপনি আসলে রেন্ডার করতে চান টেম্পলেট নাম অগ্রে যুক্ত বর্তমান আস্বাদন করতে হবে. Render_to_response ('index.html', ...) মোবাইল গন্ধ আসলে মোবাইল / index.html টেমপ্লেট সঙ্গে অনুষ্ঠিত একটি প্রতিক্রিয়া ফিরে আসতে হবে সক্রিয় হচ্ছে বলা হয় যখন এর অর্থ হল. এই দান টেমপ্লেট পাওয়া যায় না তবে এটা gracefully ডিফল্ট index.html টেমপ্লেট fallback করবে.
কিছু কিছু ক্ষেত্রে তার কাঙ্ক্ষিত উপায় প্রতিটি গন্ধ জন্য একটি সম্পূর্ণ পৃথক টেমপ্লেট আছে. আপনি শুধুমাত্র একটি টেমপ্লেট ছোট দিক পরিবর্তন করতে {{}} টেমপ্লেট গন্ধ ভেরিয়েবল ব্যবহার করতে পারেন. একটি ছোট উদাহরণ:
& Nbsp; <শিরোনাম> আমার সাইটের {% যদি গন্ধ == "মোবাইল"%} (মোবাইল সংস্করণ) {% endif%} শিরোনাম>
এর
& Nbsp; ...
সক্রিয় মোবাইল গন্ধ সঙ্গে দেখা করে এটি আপনার সাইট এর শিরোনাম (মোবাইল সংস্করণ) যোগ হবে.
নোট: আপনি যদি django_mobile.context_processors.flavour প্রসঙ্গে প্রসেসর সেট আপ করুন এবং টেমপ্লেট রেন্ডার প্রসঙ্গে উদাহরণস্বরূপ জ্যাঙ্গো এর RequestContext ব্যবহার করে থাকলে গন্ধ টেমপ্লেট পরিবর্তনশীল শুধুমাত্র উপলব্ধ.
বর্তমান গন্ধ পরিবর্তন
জ্যাঙ্গো মোবাইল মৌলিক ব্যবহারের ক্ষেত্রে ব্যবহারকারীদের আপনার সাইটের মোবাইল সংস্করণ পরিবেশন করা হয় সম্ভবত. আপনার নিজের মতামত বলা হয় যখন সঠিক গন্ধ নির্বাচন সাধারণত ইতিমধ্যে middlewares মধ্যে সম্পন্ন করা হয়. কিছু কিছু ক্ষেত্রে আপনি আপনার ভিউ বা অন্য কোথাও মধ্যে বর্তমানে ব্যবহৃত গন্ধ পরিবর্তন করতে চান. আপনি কেবল django_mobile.set_flavour কল করে এই কাজ করতে পারেন (গন্ধ [স্থায়ী = সত্য]). প্রথম যুক্তি স্ব ব্যাখ্যা করা হয়. কিন্তু আপনি শুধুমাত্র আপনি আপনার FLAVOURS সেটিং এছাড়াও একটি গন্ধ যে পাস করতে পারেন মনে রাখবেন যে. অন্যথা set_flavour একটি শাহো লিখেছেন বাড়াতে হবে. গন্ধ পরিবর্তন একই ক্লায়েন্ট ভবিষ্যতে অনুরোধের জন্য মনে হয় যদি ঐচ্ছিক স্থায়ী পরামিতি সংজ্ঞায়িত করে.
আপনার ব্যবহারকারী তাদের পছন্দসই গন্ধ তাদের স্ব সেট করতে পারেন. তারা শুধু আপনার সাইটে একটি অনুরোধ গন্ধ পেতে পরামিতির নির্দিষ্ট করতে হবে. এই স্থায়ীভাবে সাইট দেখতে তাদের পছন্দ হিসেবে এই গন্ধ নির্বাচন করবে.
আপনি ব্যবহারকারী আপনার উপলব্ধ স্বাদে থেকে নির্বাচন করা যাক এই পেতে পরামিতির ব্যবহার করতে পারেন:
- <একটি href = "গন্ধ = পূর্ণ?"> পূর্ণ অভিজ্ঞতা পান একটি>
& Nbsp; - <একটি href = "গন্ধ = মোবাইল?"> আমাদের মোবাইল সংস্করণ দেখুন একটি>
& Nbsp; - <একটি href = "গন্ধ = রহমান?"> আমাদের রহমান সংস্করণ দেখুন একটি>
& Nbsp;
ক্যাশে উপর নোট
জ্যাঙ্গো সহজে আপনার মতামত ক্যাশে করার কিছু সুবিধা প্রক্রিয়ার সাথে গ্রেপ্তার করা হয়. তাদের মধ্যে একজন django.views.decorators.cache.cache_page হয়. জ্যাঙ্গো মোবাইল সাথে একটি পুরো পাতা ক্যাশে সঙ্গে সমস্যা যে জ্যাঙ্গো এর ক্যাশে সিস্টেম স্বাদে সচেতন না হয়. দ্বিতীয় এক একটি ডেস্কটপ ব্রাউজার দ্বারা অনুরোধ করা হয়েছিল, এমনকি যদি - এটি একটি পাতা প্রথম অনুরোধ একটি মোবাইল গন্ধ সঙ্গে পরিবেশিত হয়, তাহলে দ্বিতীয়টি অনুরোধ এছাড়াও ক্যাশে থেকে মোবাইল গন্ধ সঙ্গে অনুষ্ঠিত একটি পাতা পেতে পারে এর মানে হল যে.
জ্যাঙ্গো মোবাইল এই সমস্যা সমাধান করার cache_page এটা নিজস্ব বাস্তবায়ন গ্রেপ্তার করা হয়. Django_mobile.cache.cache_page পরিবর্তে জ্যাঙ্গো নিজস্ব cache_page প্রসাধক ব্যবহার করুন.
যদি আপনি ইতিমধ্যে মত আপনি জ্যাঙ্গো র ক্যাশে middlewares django.middleware.cache.UpdateCacheMiddleware এবং FetchFromCacheMiddleware ব্যবহার করতে পারেন. কিন্তু স্বাদে তাদের সচেতন করতে, আপনি সঠিক FetchFromCacheMiddleware আগে, MIDDLEWARE_CLASSES সেটিংস দ্বিতীয় গত আইটেম হিসাবে django_mobile.cache.middleware.CacheFlavourMiddleware যুক্ত করতে হবে.
রেফারেন্স
django_mobile.get_flavour ([অনুরোধ,] [ডিফল্ট])
& Nbsp; বর্তমানে সক্রিয় গন্ধ পান. কোন গন্ধ নির্ধারিত করা যেতে পারে যদি এটি ডিফল্ট ফিরে আসতে হবে. Set_flavour বর্তমান অনুরোধ প্রতিক্রিয়া চক্র আগে বলা না হলে ঘটতে পারে. FLAVOURS সেটিং প্রথম আইটেম ডিফল্ট ডিফল্ট.
django_mobile.set_flavour (গন্ধ, [অনুরোধ,] [স্থায়ী])
& Nbsp; অনুরোধ জন্য ব্যবহার করা হবে গন্ধ সেট করুন. গন্ধ FLAVOURS সেটিং না করা হলে এই শাহো লিখেছেন বাড়াতে হবে. আপনি সত্য স্থায়ী = পাশ দিয়ে অনুরোধ জন্য স্থায়ীভাবে গন্ধ সেট করার চেষ্টা করতে পারেন. আপনি একটি অনুরোধ প্রতিক্রিয়া চক্র থেকে বের হয় তাহলে এই ব্যর্থ হতে পারে. বর্তমানে সক্রিয় অনুরোধ ডিফল্ট অনুরোধ.
django_mobile.context_processors.flavour
& Nbsp; প্রেক্ষাপটে গন্ধ হিসাবে বর্তমান গন্ধ যোগ করে যে কনটেক্সট প্রসেসর.
django_mobile.context_processors.is_mobile
& Nbsp; এই প্রেক্ষাপটে প্রসেসর বর্তমান গন্ধ DEFAULT_MOBILE_FLAVOUR সেটিং সমান হলে যা সত্য প্রেক্ষাপটে একটি is_mobile পরিবর্তনশীল যোগ হবে.
django_mobile.middleware.SetFlavourMiddleware
& Nbsp; সেট ব্যবহারকারী এর সময় থেকে সংরক্ষিত গন্ধ লোড যত্ন নেয়. এছাড়াও একটি থ্রেড স্থানীয় পরিবর্তনশীল বর্তমান অনুরোধ নির্ধারণ করা হবে. এই অনুরোধ বস্তুর ব্যবহার করেও get_flavour () কার্যকারিতা প্রদান করা প্রয়োজন হয়.
django_mobile.middleware.MobileDetectionMiddleware
& Nbsp; একটি মোবাইল ব্রাউজার সাইট অ্যাক্সেস করতে চেষ্টা করে এবং যদি সেটিংস মান DEFAULT_MOBILE_FLAVOUR গন্ধ সেট করে যদি সনাক্ত করে.
django_mobile.cache.cache_page
& Nbsp; দেখুন django.views.decorators.cache.cache_page দিয়ে সজ্জিত করা হয় আগে জ্যাঙ্গো এর cache_page প্রসাধক হিসাবে একই কিন্তু vary_on_flavour প্রযোজ্য.
django_mobile.cache.vary_on_flavour
& Nbsp; CacheFlavourMiddleware মিডলওয়্যার থেকে তৈরি একটি প্রসাধক.
django_mobile.cache.middleware.CacheFlavourMiddleware
& Nbsp; process_request মধ্যে request.META যাও যোগ এক্স Flavour হেডার এবং process_response মধ্যে ['Vary'] প্রতিক্রিয়া এই হেডার যোগ করা হয়েছে.
কাস্টমাইজেশন
আপনি জ্যাঙ্গো মোবাইল আচরণ কাস্টমাইজ করা যাক যে পাওয়া কিছু পয়েন্ট আছে. এখানে ক্লিক করুন কিছু সম্ভাবনার:
MobileDetectionMiddleware
একটি মোবাইল ব্রাউজার ব্যবহার করা হয় ব্যবহারকারী উৎপাদন ভাল পরিসেবা কিন্তু দূরে নিখুঁত এবং বাস্তবায়িত একটি খুব সহজ ভাবে যদি বিল্ট ইন মিডলওয়্যার সনাক্ত করতে. আপনি নিশ্চিন্তে আপনার সেটিংস থেকে এই মিডলওয়্যার এবং অপসারণ পরিবর্তে আপনার নিজস্ব সংস্করণ যোগ করতে পারেন. শুধু এটা আপনার জন্য সঠিক গন্ধ সেট কিছু সময়ে django_mobile.set_flavour কল তা নিশ্চিত করুন.
সেটিংস
এখানে জ্যাঙ্গো মোবাইল দ্বারা ব্যবহার করা হয় এবং আপনার নিজের settings.py পরিবর্তন করা যাবে যে সেটিংস একটি তালিকা:
FLAVOURS
আপনার সাইটের জন্য উপলব্ধ স্বাদে একটি তালিকা.
ডিফল্ট: ('সম্পূর্ণ', 'মোবাইল')
DEFAULT_MOBILE_FLAVOUR
বিল্ট ইন MobileDetectionMiddleware একটি মোবাইল ব্রাউজার সনাক্ত করে যদি নির্বাচিত হয়, যা গন্ধ.
ডিফল্ট: মোবাইল
FLAVOURS_TEMPLATE_PREFIX
দান করা টেমপ্লেট জন্য অনুসন্ধান করা হলে এই স্ট্রিং টেমপ্লেট নাম অগ্রে যুক্ত করা হবে. আপনি অনেক স্বাদ আছে এবং একটি সাধারণ সাব তাদের সঞ্চয় করতে চান তাহলে এই দরকারী. উদাহরণ:
django.template.loader আমদানি render_to_string থেকে
django_mobile আমদানি set_flavour থেকে
set_flavour ('মোবাইল')
('index.html') # render_to_string করা সম্ভব হবে 'মোবাইল / index.html'
# এখন settings.py এই যোগ
FLAVOURS_TEMPLATE_PREFIX = 'স্বাদে /'
# এবং আবার চেষ্টা করুন
set_flavour ('মোবাইল')
# সম্ভব হবে render_to_string ('index.html') 'স্বাদে / মোবাইল / index.html'
ডিফল্ট: '' (খালি স্ট্রিং)
FLAVOURS_TEMPLATE_LOADERS
জ্যাঙ্গো মোবাইল এর টেমপ্লেট লোডার বর্তমান গন্ধ সঙ্গে অগ্রে টেমপ্লেট লোড করতে পারেন. লোডার দান টেমপ্লেট লোড করতে ব্যবহার করা হয়, যা এই সেটিং সঙ্গে উল্লেখ করুন.
ডিফল্ট: সেটিং TEMPLATE_LOADERS কিন্তু 'django_mobile.loader.Loader' ছাড়া একই.
FLAVOURS_GET_PARAMETER
ব্যবহারকারী তারা একটি HTTP- র GET পরামিতি সহ তাকান করতে চান গন্ধ পরিবর্তন করতে পারেন. এই এই পরামিতির নাম নির্ধারণ করে. নিষ্ক্রিয় করার কেউ এটি সেট.
ডিফল্ট: 'গন্ধ'
FLAVOURS_SESSION_KEY
পেতে পরামিতির সঙ্গে সেট ব্যবহারকারীর পছন্দ ব্যবহারকারীর সেশনের মধ্যে সংরক্ষিত হয়. এই সেটিং এই তথ্য রাখা ব্যবহৃত হয় যা সময় কী নির্ধারণ করে.
ডিফল্ট: 'গন্ধ'
এই রিলিজে নতুন কি:.
- যোগ করা হয়েছে প্ল্যাটফর্ম স্বীকৃতি
কি সংস্করণ 0.2.3 নতুন:
- ফিক্স: সব ক্ষেত্রে সেট গন্ধ না শুধুমাত্র যদি একটি মোবাইল ব্রাউজার সনাক্ত করা হয়. প্রতিবেদনের জন্য জন পি Kiffmeyer ধন্যবাদ.
আবশ্যক
- পাইথন
- জ্যাঙ্গো
পাওয়া মন্তব্যসমূহ না