وفترات الراحة هو التطبيق الذي يتوافق جانغو لنقل الدولة التمثيلي (REST).
استعمال
كتاب تمهيدي
ويتأثر الراحة التي كتبها روبي على القضبان، وإن كان في روح بيثون أنها ليست ما يقرب من "السحر". فإنه، مع ذلك، توفر لك الكثير من التعليمات البرمجية:
# الأخبار / 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 الموارد الواردات
من وجهات النظر مقالك استيراد
urlpatterns = الموارد (
على & nbsp؛ بادئة = 'أخبار / مقالات،
على & nbsp؛ نظرا = مقالك
)
# الأخبار / views.py
من راحة استيراد مشاهدة
من نماذج استيراد المادة
الطبقة مقالك (عرض):
على & nbsp؛ نموذج = المادة
على & nbsp؛ template_path = 'أخبار / مقالات "
على & nbsp؛ supported_formats = ['أتش تي أم أل'، 'جسون']
# قوالب / الأخبار / المواد / index.html و
على & nbsp؛
على & nbsp؛ <عنوان> {{article.title}} عنوان>
على & nbsp؛
على & nbsp؛
على & nbsp؛ {٪ للمادة في المادتين٪}
على & nbsp؛ <المادة>
على & nbsp؛
<أ href = ل"{٪ رابط news_article معرف = article.id٪}"> {{article.title}}
على & nbsp؛ <الوقت التاريخ والوقت = "{{article.created_at.isoformat}}"> {{}} article.created_at
على & nbsp؛
على & nbsp؛ {{}} article.content
على & nbsp؛
على & nbsp؛ المادة>
على & nbsp؛ {٪ ENDFOR٪}
على & nbsp؛
# قوالب / الأخبار / المواد / index.json
# ...
الإجراءات الافتراضية
وتحدد مهلة لمشاهدة الطبقة الإجراءات للعرض والتلاعب حالات نموذجية؛ مؤشر، وتظهر، جديدة، إنشاء وتحرير وsbquo. تحديث وتدمير.
HTTP طريقة HTTP مسار وظيفة الغرض
الحصول على المواد / مؤشر تصدر قائمة المواد
الحصول على المواد / جديدة الجديدة تقديم نموذج لخلق مادة جديدة
المواد POST / خلق إنشاء مادة جديدة
الحصول على المواد / 1 عرض تصدر مادة محددة
الحصول على المواد / 1 / تحرير تحرير تجسيد نموذج لتعديل مادة محددة
المواد PUT / 1 تحديث تحرير مادة محددة
حذف المادتين / 1 تدمر حذف مادة محددة
باختصار، فترات الراحة يوفر لك مجموعة من الميزات ربما تحتاج لأكثر من النماذج والطرق الخاصة بك بشكل مريح لهم. تستطيع تجاوز أي من هذه الوظائف أو كل وتخصيصها كما تريد. على سبيل المثال، هل يمكن أن قائمة فقط المقالات التي تم نشرها:
# الأخبار / views.py
الطبقة مقالك (عرض):
على & nbsp؛ نموذج = المادة
على & nbsp؛ template_path = 'أخبار / مقالات "
على & nbsp؛ supported_formats = ['أتش تي أم أل'، 'جسون']
على & nbsp؛ مواطنه مؤشر (النفس، الطلب):
على & nbsp؛ المواد = self.model.objects.filter (نشرت = صحيح)
على & nbsp؛ عودة self._render (
على & nbsp؛ طلب = الطلب،
على & nbsp؛ 'مؤشر' = قالب،
على & nbsp؛ سياق = {
على & nbsp؛ 'المواد': مقالات،
على & nbsp؛}،
على & nbsp؛ الحالة = 200
على & nbsp؛)
أيضا قد قمت بحذف واحد أو أكثر من الإجراءات الافتراضية تماما. على سبيل المثال، هل يمكن أن تنفذ فقط الإجراءات مؤشر والعرض:
# الأخبار / urls.py
من django.conf.urls.defaults استيراد *
من respite.urls الموارد الواردات
من وجهات النظر مقالك استيراد
urlpatterns = الموارد (
على & nbsp؛ بادئة = 'أخبار / مقالات،
على & nbsp؛ نظرا = مقالك،
على & nbsp؛ إجراءات = ['مؤشر'، 'عرض']
)
إجراءات مخصصة
كنت لا تقتصر على سبعة إجراءات فترات الراحة ومحددة مسبقا. يمكنك إضافة أي عدد من الإجراءات المخصصة والطريق لهم كيفما تشاء:
# الأخبار / urls.py
من django.conf.urls.defaults استيراد *
من respite.urls استيراد الموارد، والعمل
من وجهات النظر مقالك استيراد
urlpatterns = الموارد (
على & nbsp؛ بادئة = 'أخبار / مقالات،
على & nbsp؛ نظرا = مقالك،
على & nbsp؛ custom_actions = [
على & nbsp؛ العمل (
على & nbsp؛ رجإكس = ص (؟ P [0-9] +).؟ / المعاينة [ل-ZA-Z] * $ '،
على & nbsp؛ وظيفة = 'معاينة'،
على & nbsp؛ طرق = ['الحصول على']،
على & nbsp؛ اسم = 'preview_news_article "
على & nbsp؛)
على & nbsp؛]
)
# الأخبار / views.py
من راحة استيراد مشاهدة
من نماذج استيراد المادة
الطبقة مقالك (عرض):
على & nbsp؛ نموذج = المادة
على & nbsp؛ template_path = 'أخبار / مقالات "
على & nbsp؛ supported_formats = ['أتش تي أم أل'، 'جسون']
على & nbsp؛ معاينة مواطنه (النفس، طلب، معرف):
ونبسب؛ والمادة = Article.objects.get (معرف = معرف)
على & nbsp؛ عودة self._render (
على & nbsp؛ طلب = الطلب،
على & nbsp؛ قالب = "المعاينة"،
على & nbsp؛ سياق = {
على & nbsp؛ 'المادة': المادة
على & nbsp؛}،
على & nbsp؛ الحالة = 200
على & nbsp؛)
تركيب
- نقطة تثبيت بوابة + HTTP: //github.com/jgorset/respite.git
- اضافة راحة لINSTALLED_APPS في ملف الإعدادات الخاصة بك
- اضافة respite.middleware.HTTPPUTMiddleware إلى MIDDLEWARE_CLASSES في ملف الإعدادات الخاصة بك
إذا كنت لا مجرد بناء API، قد ترغب أيضا لإضافة respite.middleware.HTTPMethodOverrideMiddleware إلى الطبقات الوسيطة الخاص بك؛ يسهل لتجاوز طريقة HTTP مع رأس X-HTTP-الطريقة-تجاوز على منصب أو المعلمة _method HTTP، والتي هي الطريقة الوحيدة لتحديث (HTTP PUT) وحذف (HTTP حذف) الموارد من مستعرض الويب.
والمتطلبات:
بيثون
جانغو
لم يتم العثور على التعليقات