2017-03-17 19 views

回答

0

項目/工程/ setting.py:

DATABASES = { 
'default': { 
    'ENGINE': 'django.db.backends.mysql', 
    'NAME': 'xxx', 
    'USER': 'your_account', 
    'PASSWORD': 'your_password', 
    'HOST': '127.0.0.1', 
    'POST': '3306', 
} 

}

項目/工程/ __ init.py

(你需要安裝pymysql模型:pip install pymysql)

import pymysql 
pymysql.install_as_MySQLdb() 

項目/ you_app/view.py

class ProductViewSet(viewsets.ModelViewSet): 
    queryset = Product.objects.all() 
    serializer_class = ProductSerializer 
    permission_classes = (IsAuthenticated,) 

    def create(self, request, *args, **kwargs): 
     serializer = ProductSerializer(data=request.data) 
     if serializer.is_valid(): 
      product= serializer.create(serializer.validated_data) 
     return Response(data='success', status=status.HTTP_200_OK) 

    @list_route(methods=['POST']) 
    def search(self, request): 
     key = request.data['key'] 
     queryset = Product.objects.filter(name__icontains=key) 
     serializer = ProductSerializer(queryset, many=True) 
     return Response(serializer.data) 

項目/工程/ url.py

from rest_framework import routers 

from user.views import UserViewSet 

router = routers.DefaultRouter() 

router.register(r'product', ProductViewSet) 

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
] 
urlpatterns += router.urls 
Android中Okhttp3演示

RequestBody requestBody = new FormBody.Builder() 
      .add("key", ProductName) 
      .build(); 
    Request request = new Request.Builder() 
      .post(requestBody) 
      .url(Constants.ProductSearch) 
      .build(); 

    HttpClientUtil.getClient().newCall(request).enqueue(new Callback() { 
     @Override 
     public void onFailure(Call call, IOException e) {} 

     @Override 
     public void onResponse(Call call, final Response response) throws IOException { 
      final String data = response.body().string(); 
      Log.e("Http",data); 
     } 
    }); 
+0

網址URL =新的URL(「HTTP: //127.0.0.1:8000" ); HttpURLConnection連接=(HttpURLConnection)url.openConnection(); connection.setRequestMethod(「POST」); connection.setRequestProperty(「Content-Type」,「application/json」); connection.setDoOutput(true); –

+0

什麼應該是Android代碼中的URL來連接我的Django的休息代碼? 我有我的POST代碼在views.py –

+0

不是127.0.0.1:8000,url是類似於192.168.1.xxx,你可以看你的服務器IP地址在Windows CMD ipconfig(Linux上的ifconfig),url.py有更新,看看 – Ykh