트렌드 기술 Vue+Django REST 프레임워크 생선 전자상거래 프로젝트 만들기
1. Django REST 프레임워크 소개
2. 디자인 API
우리는 먼저 하나의 앱을 선택한다. 예를 들어 내가 선택한 것은 schools 앱이다. 어떻게 이 앱을 디자인할 때 API 인터페이스를 설계하고 앞에서 요청할 때 데이터베이스에 있는 모든 학교의 상세한 정보를 되돌려줍니까?
url(r'^school/', include('schools.urls', namespace='schools'))
url(r'^all/$', AllSchoolsView.as_view(), name='all')
AllSchoolsView
;from django.views.generic.base import View
import json
from django.core.serializers import serialize
from django.http import HttpResponse, JsonResponse
from .models import School
class AllSchoolsView(View):
def get(self, request):
schools = School.objects.all()
# QuerySet json
goods_json = serialize('json', schools)
print(type(goods_json))
print('serialize: --------{}'.format(goods_json))
return HttpResponse(content=goods_json, content_type='application/json')
: schools APP models.py , schools_school ;
from django.db import models
from datetime import datetime
class School(models.Model):
name = models.CharField(max_length=50, verbose_name=' ')
desc = models.CharField(max_length=100, verbose_name=' ')
location = models.CharField(max_length=100, verbose_name=' ')
create_time = models.DateTimeField(default=datetime.now, verbose_name=' ')
course_numbers = models.IntegerField(default=0, verbose_name=" ")
데이터베이스 테이블을 만드는 데 앞의 글도 말했듯이 여기는 말하지 않겠다. 데이터베이스 테이블을 만든 후에 우리는 안에 데이터를 추가할 수 있고 명령행으로 추가할 수 있다. 그러나 이렇게 하면 비교적 번거롭다. 그래서 여기서 우리는 데이터베이스 관리와 디자인 도구인 Navicat(문장 마지막 소개)을 사용한다. 이 도구를 사용하면 데이터베이스 테이블의 데이터를 수동으로 추가할 수 있어 매우 편리하다.먼저 사용할 데이터베이스를 선택해야 합니다. 저는 MySql을 사용하고 연결을 만들고 옵션을 기입하면 됩니다.
http://127.0.0.1:8000/schools/all/
입니다.3. Django REST 프레임워크를 사용하여 Restful API 사용자 정의
pip install djangorestframework
pip install markdown # Markdown support for the browsable API.
pip install django-filter # Filtering support
INSTALLED_APPS = (
'rest_framework',
)
url(r'^api-auth/', include('rest_framework.urls'))
Tool->Run manage.py Task
, createsuperuser
, 자신의 사용자 이름, 메일박스와 비밀번호를 편집하면 됩니다.serializer.py
파일을 만들고 serializers
서열화 클래스(자신의 이름)를 만들어서 이 클래스가 serializers
아래의 Serializer 클래스를 계승하도록 한다.from rest_framework import serializers
class SchoolSerializer(serializers.Serializer):
name = serializers.CharField()
course_numbers = serializers.IntegerField()
from .models import School
from rest_framework.views import APIView
from rest_framework.response import Response
from .serializer import SchoolSerializer
class AllSchoolsView(APIView):
def get(self, request):
schools = School.objects.all()
# many list, ,
schools_serializer = SchoolSerializer(schools, many=True)
return Response(schools_serializer.data)
4.Navicat
MySQL、Oracle、 PostgreSQL、SQLite、SQL Server、MariaDB / MongoDB
등 서로 다른 유형의 데이터베이스를 편리하게 하고 일부 클라우드 데이터베이스, 예를 들어 아리운, 텐센트운을 관리할 수 있다.Windows、macOS 、Linux
을 제공하여 사용자를 로컬 또는 원격 서버에 연결시키고 실용적인 데이터베이스 도구를 제공하여 사용자가 데이터를 관리하는 데 협조할 수 있다. 이는 Navicat Cloud의 협동 협력, 데이터 모델링, 데이터 전송, 데이터 전송, 데이터 동기화, 구조 동기화, 가져오기, 내보내기, 백업, 복원과 자동 운행을 포함한다.이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.