ccnmtldjango আমরা মান django-admin.py startproject কমান্ড প্রতিস্থাপন ব্যবহার করে একটি পেস্ট টেমপ্লেট.
এটি একটি জ্যাঙ্গো অ্যাপ্লিকেশন জন্য একটি ডিরেক্টরি অনুক্রমের স্থাপনের একই মৌলিক টাস্ক আছে, কিন্তু এটি CCNMTL নির্দিষ্ট কার্যকারিতা ও কনফিগারেশন অনেক বাস্তবায়ন বাড়ানো হয়েছে.
এটা কি আমাদের জন্য উপলব্ধ করা হয় যে startproject না:
- জ্যাঙ্গো বায়ু (কলাম্বিয়া কেন্দ্রীয় প্রমাণীকরণ সেবা একটি জ্যাঙ্গো সেতু - http://www.jasig.org/cas/deployments/columbia-university) অন্তর্ভুক্ত করা এবং আমাদের Apps স্বয়ংক্রিয়ভাবে প্রমাণীকরণ জন্য বায়ু ব্যবহার করতে পারেন যাতে ডিফল্ট দ্বারা কনফিগার করা হয়েছে. অর্থাত, ডিফল্টরূপে একটি কলাম্বিয়া এক সঙ্গে যে কেউ একটি অ্যাকাউন্ট থাকতে হবে. CCNMTL ডেভেলপার Unis স্বয়ংক্রিয়ভাবে superusers হিসাবে সেট আপ, এবং CCNMTL কর্মীদের সব স্বয়ংক্রিয়ভাবে কর্মচারীদের ম্যাপ যে গ্রুপ affil হয়. এই আমাদের জন্য সাধারণত দরকারী ডিফল্ট হয়.
- Virtualenv এবং সোর্স bundled tarballs এবং bootstrappable, এটি ব্যবহার করার জন্য সেট manage.py এর কুঁড়েঘর সঙ্গে পিপ সেটআপ. এটি মূলত আমাদের এক পদক্ষেপ স্বয়ংক্রিয় স্থাপনার এবং সংবরণ পদ্ধতির মধ্যে এটি দেখাচ্ছে.
- Sorl.thumbnail (একটি সহজ সপ্রতিভ ইমেজ থাম্ব-নেইল লাইব্রেরি) ডিফল্টরূপে অন্তর্ভুক্ত করা হয়
- Flatpages সক্রিয়
- সেটিংস dev / শঙ্কু জন্য বিভক্ত
- Apache / django.wsgi কনফিগার
- ভার্চুয়াল এনভায়রনমেন্ট ব্যবহার করে mod_wsgi সেটআপ জন্য নমুনা Apache কনফিগ (আমরা মধ্যে তৈরি Apache কনফিগ ফাইল ঠিক সিমবলিক লিঙ্ক করতে পারেন, যাতে সবকিছু মসৃণ হয় আমাদের উত্পাদন সার্ভারের জন্য / etc / Apache / সাইট সক্রিয় / ডিরেক্টরির এবং এটি যেতে ভাল)
- Dev এবং শঙ্কু জন্য মিডিয়া dirs কনফিগার
- Smartif অন্তর্ভুক্ত (https://github.com/thraxil/django-smartif/tree/master)
- Template_utils এটা ফিড উপাদান জন্য যার উপর নির্ভর করে (http://code.google.com/p/django-template-utils/) হিসেবে feedparser অন্তর্ভুক্ত
- জ্যাঙ্গো-typogrify (http://code.google.com/p/typogrify/) smartypants.py সঙ্গে বরাবর (এটি ব্যবহার করে) অন্তর্ভুক্ত
- জ্যাঙ্গো-প্রহরী অন্তর্ভুক্ত (https://github.com/dcramer/django-sentry) এবং আমাদের সেটআপ জন্য কনফিগার করা
- জ্যাঙ্গো-এটম ইজ এটম অন্তর্ভুক্ত (https://github.com/ccnmtl/django-munin)
- দক্ষিণ ডাটাবেস মাইগ্রেশন জন্য অন্তর্ভুক্ত করা হয়
- জ্যাঙ্গো-বিরক্তিকর অন্তর্ভুক্ত করা হয় (আমিrender_to চান)
- জ্যাঙ্গো-নাক ইনস্টল এবং পরীক্ষা রানার হিসাবে সেট আপ (অনেক nicer!)
- ডাটাবেসের ইউনিট পরীক্ষার জন্য ব্যবহৃত মেমরি SQLite
- দক্ষিণ পরীক্ষা স্বয়ংক্রিয়ভাবে ./manage.py পরীক্ষার এড়ানো (তারা বিরতি)
- Django_compressor এখনো যোগ করেনি এবং উৎপাদন সিএসএস কম্প্রেস করা সেট আপ
- Uuid.py
- অন্তর্ভুক্ত jQuery (1.4.2, minified)
- Hs.js
- Tabber.js
- Widget.js
- Tablesort.js
- উপরে জাতীয় লাইব্রেরির জন্য প্রয়োজনীয় সিএসএস ডিফল্ট site.css মধ্যে অন্তর্ভুক্ত করা হয়
- বেস টেমপ্লেট অন্তর্ভুক্ত
- জ্যাঙ্গো অ্যাডমিন সক্রিয় (এবং TLC জন্য বায়ু সঙ্গে অনুমোদিত)
- Restclient
- Httplib2
- Imageuploader
- Markdown অন্তর্ভুক্ত এবং সক্রিয় করা হয়
- ডাটাবেসের PostgreSQL ডিফল্ট (কারণ মাইএসকিউএল teh স্তন্যপান হয়)
- ডিফল্টরূপে সক্রিয় করা লেনদেনের মিডলওয়্যার (কারণ তথ্য দুর্নীতির teh স্তন্যপান হয়)
- সময় অঞ্চল সেট
- I18n (আমরা দুর্ভাগ্যবশত monolingual হয় কোন অর্থে এটা অস্বীকার করার.) বন্ধ পরিণত
- জনস্বার্থ
- Psycopg2 (তার mx.DateTime নির্ভরতা ছিনতাই)
- মাল্টি কলাম বিন্যাস জন্য বিকল্প বেস টেমপ্লেট সঙ্গে একটি চমৎকার ডিফল্ট টেমপ্লেট নকশা.
Ccnmtldjango ব্যবহার করতে, আপনাকে পাইথন 2.6+, virtualenv, পিপ, এবং আপনার মেশিনে ইনস্টল করা একটি সাম্প্রতিক setuptools প্রয়োজন.
আপনি ccnmtldjango ইনস্টল করা আছে ইতিমধ্যে যদি প্রথম, না,
& Nbsp; easy_install ccnmtldjango
এটি স্বয়ংক্রিয়ভাবে (আসলে, শুধু PasteScript) প্রয়োজন নির্ভরতা হ্রাস করা উচিত.
চালনা
& Nbsp; Paster --list-টেমপ্লেট তৈরি
ccnmtldjango অন্তর্ভুক্ত করা উচিত
এখন, একটি জ্যাঙ্গো প্রকল্প দ্রুত-থেকে, না
& Nbsp; Paster তৈরি --template = ccnmtldjango myprojectname
myprojectname একটি পাইথন মডিউল নাম (অর্থাৎ, ছোট হাতের অক্ষর, কোনো যতিচিহ্ন, ইত্যাদি) হতে হবে. এটা একটি জ্যাঙ্গো প্রকল্প আছে একটি ডিরেক্টরি বলা myprojectname তৈরি করবে.
Paster এখনও ফাইল অনুমতি নিয়ে কিছু করতে হয় না, তাই আমরা এখনও নিজে কয়েক সেট প্রয়োজন:
& Nbsp; সিডি myprojectname
& Nbsp; 755 manage.py bootstrap.py chmod
আমি পেস্ট টেমপ্লেট মাধ্যমে কোড মধ্যে র্যান্ডম স্ট্রিং সন্নিবেশ করতে একটি উপায় বের করতে পারে না, তাই একটি নিয়মিত জ্যাঙ্গো startproject তুলনায় অনুপস্থিত ccnmtldjango যে এক জিনিস settings_shared.py মধ্যে SECRET_KEY পরিবর্তনশীল সবসময় একই ডিফল্ট হয়. যে পরিষ্কারভাবে একটি ভাল ধারণা না, তাই আপনি আপনার প্রকল্পের অনন্য হতে হবে যে অন্য কিছু র্যান্ডম স্ট্রিং যে পরিবর্তন নিশ্চিত করুন.
এটি সম্ভবত সংস্করণ নিয়ন্ত্রণ মধ্যে প্রকল্পের চেক করতে একটি ভাল পয়েন্ট.
আমরা virtualenv সঙ্গে খুব জ্যাঙ্গো জন্য সংবরণ ব্যবহার করুন:
& Nbsp; ./ bootstrap.py
যে (এই জ্যাঙ্গো নিজেকে অন্তর্ভুক্ত) একটি একটি virtualenv রয়েছে এবং এটি ইনস্টল প্রয়োজনীয়তা / src ডিরেক্টরির মধ্যে সব লাইব্রেরি ছিল, যা ডিরেক্টরি করেছি তৈরি করতে হবে. দ্য এটা উত্পন্ন এর থেকে ডিরেক্টরি svn মধ্যে চেক করা যাবে না করেছি. আপনি আপনার অ্যাপ্লিকেশনের জন্য অন্যান্য লাইব্রেরি প্রয়োজন হয়, (তারা নিয়মিত পাইথন লাইব্রেরি বা জ্যাঙ্গো উপর নির্ভর করে tarballs হিসাবে তাদের আপ পাঁজা এবং প্রয়োজনীয়তা / src / ডিরেক্টরির মধ্যে ছেড়ে, প্রয়োজনীয়তা / libs.txt বা প্রয়োজনীয়তা / apps.txt তাদের যোগ অ্যাপস) তারপর ./bootstrap.py পুনরায় চালানো.
Virtualenv সঙ্গে, একটি পরিবেশ সক্রিয় করার কোন প্রয়োজন নেই যে মনে রাখবেন. পরিবর্তে, একটি করেছি একটি পাইথন এক্সিকিউটেবল রয়েছে, যা একটি বিন ডিরেক্টরি আছে. আপনি যে পরিবর্তে সিস্টেম পাইথন এক্সিকিউটেবল এর ব্যবহার, এটি যে virtualenv লাইব্রেরি ব্যবহার করে.
ccnmtldjango আপনার প্রকল্পের আপনার প্রকল্প হিসেবে একই নামের একটি PostgreSQL ডাটাবেসের ব্যবহার করা হবে যে অনুমান. সুতরাং, আমাদের উদাহরণস্বরূপ, যদি আপনি তারপর কি করতে হবে:
& Nbsp; createdb myprojectname
এবং এটি সমস্ত এটি ব্যবহার করার জন্য সেট করা হয়:
& Nbsp; ./ manage.py syncdb
এটা (ইত্যাদি, সাইট, সেশন, অ্যাডমিন, flatpages) সাধারণ অ্যাপ্লিকেশান জন্য চাহিদা জ্যাঙ্গো এবং আপনি একটি অ্যাডমিন ব্যবহারকারী তৈরি টেবিল ইনস্টল করা হবে.
./manage.py syncdb automagically একটি "example.com" সাইট সেট আপ. অ্যাডমিন কনসোল এর মাধ্যমে: (8000 যেমন স্থানীয় হোস্ট) এটি আপনার সাইটের ডোমেইন পরিবর্তন করা উচিত. http: // localhost: 8000 / অ্যাডমিন / সাইট / সাইট /. (এটা আপনার অ্যাপ্লিকেশনের জন্য গুরুত্বপূর্ণ হলে)
আপনার আবেদন এখন চালানোর জন্য প্রস্তুত:
& Nbsp; ./ manage.py runserver
// localhost: 8000 / http- র উপর একটি সার্ভার আরম্ভ করা হবে. সেখানে আবেদন কিছুই এখনো, কিন্তু অ্যাডমিন অ্যাপ্লিকেশন আপনি syncdb সময় নির্মিত ব্যবহারকারী অ্যাকাউন্টের মাধ্যমে, অথবা settings_shared.py মধ্যে WIND_SUPERUSER_MAPPER_GROUPS তালিকা উল্লেখ করা TLC ব্যবহারকারী (বা বেশী বাতাস মাধ্যমে (ব্যবহার করা উচিত, যেহেতু আপনি একটি 404 আছে দিতে হবে যাচ্ছে .) তাই এগিয়ে যান এবং HTTP লগইন: // localhost: 8000 / অ্যাডমিন /
এমনকি কোনো অ্যাপ্লিকেশন নির্দিষ্ট কোড ছাড়া আপনি সরাসরি ওয়েব কন্টেন্ট লাগাতে পারেন, তাই flatpages অন্তর্ভুক্ত করা হয়.
এই বিন্দু থেকে, এটি মৌলিক জ্যাঙ্গো উন্নয়ন. আপনি সম্ভবত আপনার নিজস্ব অ্যাপ্লিকেশন প্রকল্পের মধ্যে এবং তাই তৈরি করতে একটি ./manage.py startapp কি করতে চাইবেন.
একটি নতুন চেকআউট সেট আপ
প্রথম সময় আপনি svn / Git থেকে একটি বিদ্যমান ccnmtl-টেমপ্লেট প্রকল্পের চেক আউট:
& Nbsp; ./ bootstrap.py
./manage.py runserver
একটি মান জ্যাঙ্গো থেকে পার্থক্য ইনস্টল
একথাও ঠিক যে, একটি লাইব্রেরি গুচ্ছ এবং যেমন যোগ করা হয়েছে এবং পুরো virtualenv জিনিস আছে. আপনি awayre হতে হবে যে একটি প্রমিত জ্যাঙ্গো প্রকল্প (অর্থাৎ, django-admin.py startproject ফলাফল) থেকে কিছু পার্থক্য আছে.
প্রথমত, সেটিংস কনফিগার করার dev এবং শঙ্কু স্থাপনার সহজ করতে বিভক্ত করা হয়েছে. ইনস্টল একটি রেগুলার জ্যাঙ্গো সব সেটিংস রয়েছে যে এক settings.py ফাইল হবে. জ্যাঙ্গো ডেভেলপারদের সাধারণত যে সেটিংস ফাইল কপি এবং উৎপাদন স্থাপনা যখন পরিবর্তন করতে হবে. ccnmtldjango সেটিংস ঠিক পাইথন কোড এবং আমদানি করা এবং উপেক্ষা করা হতে পারে যে সুবিধা নেয়. সুতরাং আমরা সেটিংস সবচেয়ে রয়েছে, যা একটি settings_shared.py আছে. (উন্নয়ন জন্য ব্যবহার করা উচিত) এবং তারপর settings_shared.py থেকে থেকে সবকিছু আমদানি settings_production.py settings.py. settings_production.py তারপর উৎপাদন স্থাপনার (টেমপ্লেট এবং মিডিয়া ফাইল সাধারণত পাথ) বিভিন্ন হতে হবে যে কোন সেটিংস অগ্রাহ্য করা হয়.
TransactionMiddleware ডিফল্টরূপে সক্রিয় করা হয়. এই প্রতিটি HTTP অনুরোধের করে বা অনুরোধ শেষে ফিরে ছুয়ে যে একটি লেনদেনের পায়. কিছু কারণে ডিফল্ট জ্যাঙ্গো সেটআপ HTTP অনুরোধের স্বাধীন প্রতিটি ডাটাবেস অপারেশন নিজস্ব লেনদেনের রান যেখানে জিনিষ "autocommit" শৈলী, আছে.
অন্যান্য বড় পার্থক্য উপরের স্তরের টেমপ্লেট ডিরেক্টরি সচেতন হতে হবে. স্ট্যান্ডার্ড জ্যাঙ্গো পদ্ধতি যে অ্যাপ্লিকেশনের জন্য টেমপ্লেট রয়েছে যে আপনার প্রকল্পের প্রতিটি অ্যাপ্লিকেশন একটি টেমপ্লেট ডিরেক্টরি আছে. ccnmtldjango কয়েক কারণে উপরের স্তরের টেমপ্লেট ডিরেক্টরি আছে. Paster শুধুমাত্র প্রকল্পের স্তরের ডিরেক্টরির না এবং আবেদন ডিরেক্টরি তৈরি থেকে প্রথমত, এটা তাই একটি ডিফল্ট base.html, অ্যাডমিন / login.html, রেজিস্ট্রেশন / login.html এবং অন্তর্ভুক্ত আছে একমাত্র উপায়. আমি শুধু বিশেষ করে base.html টেমপ্লেট জন্য একটি প্রকল্প স্তরের টেমপ্লেট ডিরেক্টরি থাকার পদ্ধতির মত. জ্যাঙ্গো একটি আন্দাজের যাতে তাদের মাধ্যমে একাধিক টেমপ্লেট ডিরেক্টরি এবং অনুসন্ধান করতে পারবেন, তাই আপনি যা করতে পারেন (এবং সম্ভবত উচিত) এখনও আবেদন স্তর টেমপ্লেট ডিরেক্টরি তৈরি এগিয়ে প্রকল্প এক স্তর TEMPLATE_DIRS তাদের তালিকা, এবং আপনি যারা চান যাই হোক না কেন টেমপ্লেট অগ্রাহ্য করা হবে.
I18n আমরা বহুভাষিক স্টাফ না যে মোটামুটি বিরল থেকে বন্ধ পরিণত এবং তা ব্যবহার করা হচ্ছে না যদি এটি সক্রিয় আঘাত একটি কর্মক্ষমতা করা হয়. . যদি আপনি একটি বহুভাষিক জ্যাঙ্গো সাইটের যা করতে হবে, শুধু এটা পুনরায় সক্রিয় এবং কাজ পেতে
আবশ্যক
- পাইথন
পাওয়া মন্তব্যসমূহ না