0
我應該給在URL的URL .java文件連接我的Django REST API和Django的代碼通過POST獲取數據?Android到Mysql數據庫連接使用Django休息
在DRF我應該給在URL的URL .java文件連接我的Django REST API和Django的代碼通過POST獲取數據?Android到Mysql數據庫連接使用Django休息
在DRF:
項目/工程/ 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);
}
});
網址URL =新的URL(「HTTP: //127.0.0.1:8000" ); HttpURLConnection連接=(HttpURLConnection)url.openConnection(); connection.setRequestMethod(「POST」); connection.setRequestProperty(「Content-Type」,「application/json」); connection.setDoOutput(true); –
什麼應該是Android代碼中的URL來連接我的Django的休息代碼? 我有我的POST代碼在views.py –
不是127.0.0.1:8000,url是類似於192.168.1.xxx,你可以看你的服務器IP地址在Windows CMD ipconfig(Linux上的ifconfig),url.py有更新,看看 – Ykh