অবকাশ প্রতিনিধিত্বমূলক রাজ্য স্থানান্তর (বাকি) থেকে জ্যাঙ্গো কে কনর্ফাম করে যে একটি অ্যাপ্লিকেশন.
ব্যবহারের
কার্তুজ
এটা প্রায় "ম্যাজিক" হিসাবে নয় পাইথন আত্মা যদিও অবকাশ, পাগল নেভিগেশন রুবি দ্বারা প্রভাবিত হয়. কিন্তু, আপনি একটি কোড অনেকটা সংরক্ষণ করা হবে:
# সংবাদ / models.py
django.db আমদানি মডেল থেকে
বর্গ ধারা (models.Model):
& Nbsp; শিরোনাম = models.CharField (MAX_LENGTH = 255)
& Nbsp; কন্টেন্ট = models.TextField ()
& Nbsp; প্রকাশিত = সত্য
& Nbsp; created_at = models.DateTimeField (auto_now_add = সত্য)
# সংবাদ / urls.py
django.conf.urls.defaults থেকে * আমদানি
respite.urls আমদানি সম্পদ থেকে
মতামত আমদানি ArticleView থেকে
urlpatterns = সম্পদ (
& Nbsp; উপসর্গ = 'খবর / নিবন্ধ,
& Nbsp; দেখুন = ArticleView
)
# সংবাদ / views.py
অবকাশ আমদানি দেখুন থেকে
মডেল আমদানি ধারা থেকে
বর্গ ArticleView (দেখুন):
& Nbsp; মডেল = ধারা
& Nbsp; template_path = 'খবর / নিবন্ধ'
& Nbsp; supported_formats = ['এইচটিএমএল', 'JSON']
# টেমপ্লেট / খবর / নিবন্ধ / index.html
& Nbsp;
& Nbsp;
& Nbsp; এর
& Nbsp;
& Nbsp; {নিবন্ধ% এর মধ্যে নিবন্ধটি জন্য%}
& Nbsp; <নিবন্ধ>
& Nbsp;
থেকে <একটি href = "{% URL news_article আইডি = article.id%}"> {{article.title}} একটি>
& Nbsp; <সময় datetime = "{{article.created_at.isoformat}}"> {{article.created_at}}
& Nbsp;
& Nbsp; {{article.content}}
& Nbsp;
& Nbsp; নিবন্ধ>
& Nbsp; {% endfor%}
& Nbsp;
# টেমপ্লেট / খবর / নিবন্ধ / index.json
# ...
ডিফল্ট কর্ম
অবকাশ এর বর্গ মডেল দৃষ্টান্ত দেখার এবং সাধিত জন্য কর্ম সংজ্ঞায়িত; সূচক, শো,, সম্পাদনা ও sbquo নতুন তৈরি; আপডেট এবং ধ্বংস.
HTTP- র পদ্ধতি HTTP- র পথ ফাংশন উদ্দেশ্য
প্রবন্ধ / নিবন্ধ সূচক একটি তালিকা প্রদান GET
নতুন / নতুন নিবন্ধ একটি নতুন নিবন্ধ তৈরি করার জন্য একটি ফর্ম প্রদান GET
পোস্ট প্রবন্ধ / একটি নতুন নিবন্ধ তৈরি করুন
প্রবন্ধ / 1 শো একটি নির্দিষ্ট নিবন্ধ রেন্ডার পেতে
প্রবন্ধ / 1 / সম্পাদনা সম্পাদনা একটি নির্দিষ্ট নিবন্ধ সম্পাদনা করতে একটি ফর্ম প্রদান GET
PUT নিবন্ধ একটি নির্দিষ্ট নিবন্ধ / 1 আপডেট সম্পাদনা করুন
মুছে নিবন্ধ / 1 একটি নির্দিষ্ট নিবন্ধ মুছে ধ্বংস
সংক্ষেপে, অবকাশ আপনি সম্ভবত স্থির আপনার মডেল এবং রুট তাদের অধিকাংশই জন্য প্রয়োজন একটি বৈশিষ্ট্য সংগ্রহ সাথে আপনি উপলব্ধ. আপনি এই ফাংশন যে কোনো অথবা সমস্ত অগ্রাহ্য করা এবং আপনি চান হিসাবে তাদের কাস্টমাইজ করতে পারেন. উদাহরণস্বরূপ, যদি আপনি শুধুমাত্র প্রকাশিত হয়েছে যে নিবন্ধ তালিকা পারে:
# সংবাদ / views.py
বর্গ ArticleView (দেখুন):
& Nbsp; মডেল = ধারা
& Nbsp; template_path = 'খবর / নিবন্ধ'
& Nbsp; supported_formats = ['এইচটিএমএল', 'JSON']
& Nbsp; Def সূচক (স্ব, অনুরোধ):
& Nbsp; নিবন্ধ = self.model.objects.filter (= সত্য প্রকাশিত)
& Nbsp; ফিরে self._render (
& Nbsp; অনুরোধ = অনুরোধ,
& Nbsp; টেমপ্লেট = 'সূচক',
& Nbsp; প্রসঙ্গে = {
& Nbsp; 'নিবন্ধ': নিবন্ধ,
& Nbsp;},
& Nbsp; অবস্থা = 200
& Nbsp;)
এছাড়াও আপনি পুরাপুরি ডিফল্ট কর্ম এক বা একাধিক বর্জন করা হতে পারে. উদাহরণস্বরূপ, যদি আপনি শুধুমাত্র সূচক এবং শো কর্ম বাস্তবায়ন হতে পারে:
# সংবাদ / urls.py
django.conf.urls.defaults থেকে * আমদানি
respite.urls আমদানি সম্পদ থেকে
মতামত আমদানি ArticleView থেকে
urlpatterns = সম্পদ (
& Nbsp; উপসর্গ = 'খবর / নিবন্ধ,
& Nbsp; দেখুন = ArticleView,
& Nbsp; কর্ম = ['সূচক', 'শো']
)
কাস্টম কর্ম
অবকাশ এর সাত পূর্বনির্ধারিত কর্ম সীমাবদ্ধ করা হয় না; আপনি তাদের তবে আপনি চান কোনো কাস্টম কর্মের সংখ্যা এবং রুট যোগ করতে পারেন:
# সংবাদ / urls.py
django.conf.urls.defaults থেকে * আমদানি
respite.urls সম্পদ আমদানি থেকে, কর্ম
মতামত আমদানি ArticleView থেকে
urlpatterns = সম্পদ (
& Nbsp; উপসর্গ = 'খবর / নিবন্ধ,
& Nbsp; দেখুন = ArticleView,
& Nbsp; custom_actions = [
& Nbsp; কর্ম (
& Nbsp; RegEx = R '(? পি [0-9] + +). / প্রাকদর্শন [একটি-ZA-টু Z] * $',
& Nbsp; ফাংশন = 'প্রিভিউ',
& Nbsp; পদ্ধতি = ['get'],
& Nbsp; নাম = 'preview_news_article'
& Nbsp;)
& Nbsp;]
)
# সংবাদ / views.py
অবকাশ আমদানি দেখুন থেকে
মডেল আমদানি ধারা থেকে
বর্গ ArticleView (দেখুন):
& Nbsp; মডেল = ধারা
& Nbsp; template_path = 'খবর / নিবন্ধ'
& Nbsp; supported_formats = ['এইচটিএমএল', 'JSON']
& Nbsp; Def প্রাকদর্শন (স্ব, অনুরোধ, আইডি):
& Nbsp; নিবন্ধ = Article.objects.get (আইডি = আইডি)
& Nbsp; ফিরে self._render (
& Nbsp; অনুরোধ = অনুরোধ,
& Nbsp; টেমপ্লেট = 'প্রিভিউ',
& Nbsp; প্রসঙ্গে = {
& Nbsp; 'নিবন্ধ' নিবন্ধ:
& Nbsp;},
& Nbsp; অবস্থা = 200
& Nbsp;)
সংস্থাপনা
- পিপ Git + + HTTP ইনস্টল: //github.com/jgorset/respite.git
- আপনার সেটিংস ফাইল INSTALLED_APPS অবকাশ যোগ করুন
- আপনার সেটিংস ফাইল MIDDLEWARE_CLASSES করতে respite.middleware.HTTPPUTMiddleware যোগ করুন
আপনি শুধু একটি API নির্মাণ করছি না থাকে, তাহলে আপনি আপনার মিডলওয়্যার ক্লাস respite.middleware.HTTPMethodOverrideMiddleware যোগ করতে চান হতে পারে; এটি আপডেট (HTTP- র করা) এবং মুছে দিন করার একমাত্র উপায়, যা এক্স HTTP- র-পদ্ধতি-ওভাররাইড হেডার বা একটি _method HTTP- র পোষ্ট পরামিতি, সঙ্গে HTTP পদ্ধতি অগ্রাহ্য জন্য সুবিধা (HTTP- র মুছে) একটি ওয়েব ব্রাউজার থেকে সম্পদ.
আবশ্যক
- পাইথন
- জ্যাঙ্গো
পাওয়া মন্তব্যসমূহ না