Django 工具
from django.db.models.signals
- import post_save 保存
- post_delete 刪除
from django.dispatch
- import receiver 接受者,接收到之后鏈接響應(yīng) eg: @receiver(post_save) 鏈接 post_save 信號(hào)和處理方法
from django.conf
- import settings 公共的設(shè)置類
from django.contrib.sites.models
- import Site 站點(diǎn)信息 clear_site_cache Site.objects.get_current().domain
django.views.decorators.http
- @require_http_methods(["GET", "POST"])
- @require_POST()
- @require_GET()
django.shortcuts
- render(request, template_name[, context字段][, content_type 響應(yīng)內(nèi)容類型][, status狀態(tài)][, current_app當(dāng)前APP][, dirs][, using])[source]
- render_to_response(template_name[, context][, context_instance][, content_type][, status][, dirs][, using])[source]
- redirect(to, [permanent=False, ]*args, **kwargs)[source]
一個(gè)模型(get_absolute_url() ) 一個(gè)視圖(將使用urlresolvers.reverse 來反向解析名稱) 一個(gè)絕對(duì)的或相對(duì)的URL,將原封不動(dòng)的作為重定向的位置 - get_object_or_404(klass, *args, **kwargs) class 類 參數(shù)(可被查詢)
get_object_or_404(MyModel, pk=1) - get_list_or_404(klass, *args, **kwargs)
from django.views
- import generic generic.ListView generic.DetailView
快速生成
from rest_framework import routers, serializers, viewsets
Serializers定義了API的表現(xiàn).
class UserSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = User
fields = ('url', 'username', 'email', 'is_staff')
ViewSets 定義了 視圖(view) 的行為.
class UserViewSet(viewsets.ModelViewSet):
queryset = User.objects.all()
serializer_class = UserSerializer
Routers 提供了一種簡(jiǎn)單途徑,自動(dòng)地配置了URL。
router = routers.DefaultRouter()
router.register(r'users', UserViewSet)
from kapp.models import SMURLTypeModel
class SMURLTypeSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = SMURLTypeModel
fields = ('type', 'name')
class SMURLTypeViewSet(viewsets.ReadOnlyModelViewSet):
queryset = SMURLTypeModel.objects.all()
serializer_class = SMURLTypeSerializer
router.register(r'smurltype', SMURLTypeViewSet)