私はDjango
とDjango rest framework
で新しく、データベースからデータを取得するためにいくつかのルートを作成しようとしています。Django restフレームワークでいくつかのパラメータを渡します
は今の私のurls.py
ファイルに私はこの
"cpuProjects": "http://127.0.0.1:8000/cpuProjects/"
この
router = routers.DefaultRouter()
router.register(r'cpuProjects', cpuProjectsViewSet, base_name='cpuProjects'),
このリターンを持っていると私は、この http://127.0.0.1:8000/cpuProjects/
=>すべてのプロジェクトを返し http://127.0.0.1:8000/cpuProjects/ad
=>復帰を行う可能性を持っています特定のプロジェクト私view.pyで
私は、この新しいURLを追加私のURLは、このためにその
http://127.0.0.1:8000/cpuProjects/ad/comments
http://127.0.0.1:8000/cpuProjects/ad/ussing
http://127.0.0.1:8000/cpuProjects/ad/process
のようなものを受け入れたことをしたい今、この
class cpuProjectsViewSet(viewsets.ViewSet):
serializer_class = serializers.cpuProjectsSerializer
# lookup_field = 'project_name'
lookup_url_kwarg = 'project_name'
def list(self, request):
all_rows = connect_database()
serializer = serializers.cpuProjectsSerializer(instance=all_rows, many=True)
return Response(serializer.data)
def retrieve(self, request, project_name=None):
try:
opc = {'name_proj' : project_name }
all_rows = connect_database(opc)
except KeyError:
return Response(status=status.HTTP_404_NOT_FOUND)
except ValueError:
return Response(status=status.HTTP_400_BAD_REQUEST)
serializer = serializers.cpuProjectsSerializer(instance=all_rows, many=True)
return Response(serializer.data)
を持って
router.register(r'cpuProjects/([a-zA-Z0-9]+)$', cpuProjectsViewSet, base_name='cpuProjects'),
しかし、今、私はこの
http://127.0.0.1:8000/cpuProjects/ad/ussing
をしようとしたとき、私は入手
「ページをなした」私は、このURLは、パラメータを取得する機能を取得するために呼び出す必要があり、そう、なぜこのエラーこと?理解
このURLは、事前に
http://127.0.0.1:8000/cpuProjects/ad
おかげのように同じプロセスをしません!