一、REST framework: 新建纯净版项目

1、新建项目

djangoProject_test

1、安装django

pip install django

2、安装REST framework

pip install djangorestframework

2、生成django项目

django-admin start-project  djangoProject_test .

3、生成应用

python manage.py startapp auto_project

4、剔除settings.py不必要配置,并配置DRF

# 修改 INSTALLED_APPS、MIDDLEWARE、TEMPLATES 三处配置信息

INSTALLED_APPS = [
    # 'django.contrib.admin',
    # 'django.contrib.auth',
    # 'django.contrib.contenttypes',
    # 'django.contrib.sessions',
    # 'django.contrib.messages',
    'django.contrib.staticfiles',  # 静态文件
    'rest_framework', # 配置DRF
    'auto_project'  # 配置项目
]


MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    # 'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    # 'django.contrib.auth.middleware.AuthenticationMiddleware',
    # 'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]


TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR / 'templates']
        ,
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                # 'django.contrib.auth.context_processors.auth',
                # 'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

5、视图中,新建视图函数

from rest_framework.response import Response

class CleanProjectView(MyAPIView):
    # 认证类,没有时,注释掉,纯净版项目创建时,先注释掉
    # authentication_classes = []

    def get(self, request, *args, **kwargs):
        return Response('GET')

    def post(self, request, *args, **kwargs):
        return Response('POST')

 

6、配置url路由,请注意:<str:version> 当前没有使用,可以删除

urlpatterns = [
    path('api/<str:version>/clean/', views.CleanProjectView.as_view()),
    # path('api/<str:version>/user/', views.RequestDataView.as_view()),
    # re_path("api/(?P<version>.+)/user/(?P<id>\d+)", views.RequestDataDetailView.as_view()),
]

7、启动项目

python manage.py runserver 

8、使用postmen访问get请求,报异常

RuntimeError: Model class django.contrib.contenttypes.models.ContentType doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.

9、settings.py中配置

REST_FRAMEWORK = {
    "UNAUTHENTICATED_USER": None
}

 10, 重启项目,再次访问,接口正常,纯净版项目新建成功

 

posted @ 2024-12-25 17:53  蜗牛·哥  阅读(12)  评论(0)    收藏  举报