二、创建drf纯净项目

1)创建项目

复制代码
django-admin startproject api

2)创建app

复制代码
django-admin startproject api_app

3)修改settings.py注释掉一些没用的配置

python 复制代码
INSTALLED_APPS = [
    # 'django.contrib.admin',
    # 'django.contrib.auth',
    # 'django.contrib.contenttypes',
    # 'django.contrib.sessions',
    # 'django.contrib.messages',
    'django.contrib.staticfiles',
]

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',
]

ROOT_URLCONF = 'api.urls'

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        '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',
            ],
        },
    },
]

4)安装drf

复制代码
pip3 install djangorestframework

5)注册drf

setttings.py

python 复制代码
INSTALLED_APPS = [
    # 'django.contrib.admin',
    # 'django.contrib.auth',
    # 'django.contrib.contenttypes',
    # 'django.contrib.sessions',
    # 'django.contrib.messages',
    'django.contrib.staticfiles',
    'rest_framework',        #注册drf
]

3.3创建url路由和CBV

python 复制代码
urlpatterns = [
    # path('admin/', admin.site.urls),
    path('home/', views.home),
    path('user/', views.UserView.as_view()),     #CBV路由
]
python 复制代码
class UserView(APIView):
    def get(self,request):
        return Response('返回成功')

这时候访问user/会报错,因为没有用户信息

复制代码
Model class django.contrib.contenttypes.models.ContentType doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.

需要在settings.py加入以下代码:

python 复制代码
#将未认证用户置空
REST_FRAMEWORK = {
    "UNAUTHENTICATED_USER":None,
}
相关推荐
vortex526 分钟前
谷歌黑客语法挖掘 SQL 注入漏洞
android·数据库·sql
九河云1 小时前
软件开发平台 DevCloud
运维·服务器·数据库·科技·华为云
wind_one12 小时前
7.基础--SQL--DDL-数据类型及案例
数据库·sql
l1t3 小时前
利用DeepSeek改写SQLite版本的二进制位数独求解SQL
数据库·人工智能·sql·sqlite
QT 小鲜肉3 小时前
【QT/C++】Qt定时器QTimer类的实现方法详解(超详细)
开发语言·数据库·c++·笔记·qt·学习
研究司马懿3 小时前
【ETCD】ETCD常用命令
网络·数据库·云原生·oracle·自动化·运维开发·etcd
刘一说4 小时前
深入理解 Spring Boot 中的数据库迁移:Flyway 与 Liquibase 实战指南
数据库·spring boot·oracle
August_._5 小时前
【MySQL】SQL语法详细总结
java·数据库·后端·sql·mysql·oracle
升鲜宝供应链及收银系统源代码服务5 小时前
升鲜宝生鲜配送供应链管理系统---PMS--商品品牌多语言存储与 Redis 缓存同步实现
java·开发语言·数据库·redis·缓存·开源·供应链系统
苦学编程的谢6 小时前
Redis_8_List
数据库·redis·缓存