Python django + vue 实现DRF序列化模板

  1. 数据库模板 在models.py下边

class ConnectionTable(models.Model):

Name = models.CharField(max_length=1024, blank=True, null=True)

local_addrs = models.CharField(max_length=1024, blank=True, null=True) #本机地址

     2.  序列化器  在serializers.py 文件下

class ConnectionTableSerializer(serializers.ModelSerializer):

class Meta:

model = ConnectionTable

fields = "__all__"

id = serializers.SerializerMethodField()

def get_id(self,obj):

return obj.pk

3.   视图层 ,一般放在 views.py 或者viewsrest.py下面

class ConnectionTableViewSet(viewsets.ModelViewSet):

"""

获取

"""

queryset = ConnectionTable.objects.all()

serializer_class = ConnectionTableSerializer

filter_backends = (filters.DjangoFilterBackend,)

#创建

def create(self, request, *args, **kwargs):                          axios.post

servermanage_sync()

#更新

def update(self, request, *args, **kwargs):                           axios.put + [id]

servermanage_sync(request)

。。。

#序列化

def destroy(self, request, *args, **kwargs):                        

servermanage_sync(request)                       

#查询

def list(self, request, *args, **kwargs):         list  是可以axios.get直接请求数据库的内容

类似于:

if(this.form['id'])//修改

{

api = "/netattri/rest/ipnetwork/" + this.form['id'] + "/"

axios.put(api, this.form).then(function (response) {

    if (response.status == 200){

      app.$message.success('修改成功!');

.............................

}else //创建

{

api = "/netattri/rest/ipnetwork/"

axios.post(api, this.form).then(function (response) {

   if (response.status == 201){

      app.$message.success('提交成功!');

.......................

}

// 读取

var api = "/netattri/rest/ipnetwork/";

this.loading = true;

axios.get(api).then(function (response) {

.............

}

   4. admin.py  书写数据同步的方法

apps/

servermanage_app/

template/

serverconf.template

static/

component/

connectionaddmode.vue

        5. 添加请求接口的路由   在urls.py 里面

 如果想要请求 路径 +rest+ 接口名称来访问数据库的表,还需要把router 写到rest/里面

类似于前两条:

urlpatterns = [

url(r'^$', views.Tview.as_view()),

url(r'^rest/', include(router.urls)),

url(r'^tab_tunnelroute/$', views.TunnelRouteView.as_view()),

]

下边是添加路由:

url(r'^tab_tunnelroute/$', views.TunnelRouteView.as_view()),

router = routers.DefaultRouter()

router.register(r'ipnetwork', views.IpnetworkTableViewSet)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值