xadmin引入django-rest-framwork

一、安装:

pip install djangorestframework

安装djangorestframework库

https://github.com/encode/django-rest-framework/tree/master

GitHub主页

pip install markdown

安装markdown库

二、配置demo/settings.py:

INSTALLED_APPS = [    ‘django.contrib.admin‘,    ‘django.contrib.auth‘,    ‘django.contrib.contenttypes‘,    ‘django.contrib.sessions‘,    ‘django.contrib.messages‘,    ‘django.contrib.staticfiles‘,    ‘product.apps.ProductConfig‘,

    ‘xadmin‘,    ‘crispy_forms‘,    ‘reversion‘,    # 添加django-xadmin

    ‘import_export‘,    # 导入导出

    ‘ckeditor‘,    ‘ckeditor_uploader‘,    # 富文本编辑器

    ‘stdimage‘,    # django-stdimage

    ‘rest_framework‘    # django-rest-framwork]

REST_FRAMEWORK = {    ‘DEFAULT_PAGINATION_CLASS‘: ‘rest_framework.pagination.PageNumberPagination‘,    ‘PAGE_SIZE‘: 5    # 分页}

三、复制资源文件:

python manage.py collectstatic

拷贝静态文件

此时可看到static目录下新增了static/rest_framework目录

四、序列化:

在product目录下面新建product/serializers.py:

from rest_framework import serializers

from product.models import ProductInfo

class ProductInfoSerializer(serializers.HyperlinkedModelSerializer):    # 序列化

    class Meta:        model = ProductInfo        fields = (            ‘id‘,            ‘product_name‘,            ‘product_picture‘,            ‘product_describe‘,            ‘product_manager‘,            ‘product_detail‘,            ‘create_time‘,            ‘update_time‘        )

五、业务视图product/views.py:

# Create your views here.from rest_framework import viewsets

from product.models import ProductInfofrom product.serializers import ProductInfoSerializer

class ProductInfoViewSet(viewsets.ModelViewSet):    queryset = ProductInfo.objects.all().order_by(‘id‘)    serializer_class = ProductInfoSerializer

六、路由demo/urls.py:

import xadmin

from django.conf import settingsfrom django.conf.urls.static import staticfrom django.urls import path, includefrom rest_framework import routers

from product import views

router = routers.DefaultRouter()router.register(‘product_info‘, views.ProductInfoViewSet)

urlpatterns = [    # path(‘admin/‘, admin.site.urls),    path(‘admin/‘, xadmin.site.urls),

    path(‘ckeditor/‘, include(‘ckeditor_uploader.urls‘)),    # 添加CKEditor的URL映射

    path(‘api/‘, include(router.urls)),    path(‘api-auth/‘, include(‘rest_framework.urls‘, namespace=‘rest_framework‘))    # 配置django-rest-framwork API路由]

urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)# 配置图片文件url转发

七、API

python manage.py runserver

启动服务

http://127.0.0.1:8000/api/

原文地址:https://www.cnblogs.com/yjlch1016/p/11386318.html

时间: 2024-10-08 06:44:32

xadmin引入django-rest-framwork的相关文章

django入门8之xadmin引入富文本和excel插件

django入门8之xadmin引入富文本和excel插件 Xadmin引入富文本 插件的文档 https://xadmin.readthedocs.io/en/docs-chinese/make_plugin.html Django ueditor插件的安装 下载地址:https://github.com/zhangfisher/DjangoUeditor 进入mxonline的虚拟环境 Python setup.py install 进行安装 在settings.py中引入ueditor 在

xadmin引入drf-yasg生成Swagger API文档

一.安装drf-yasg: 由于django-rest-swagger已经废弃了 所以引入了drf-yasg pip install drf-yasg 安装install drf-yasg库 https://github.com/axnsan12/drf-yasg Github主页 二.工程的目录结构: demo/settings.py: import os # Build paths inside the project like this: os.path.join(BASE_DIR, ..

【Python web 开发】django rest framwork 的token 登录和原理(2)

django rest framwork api guid 关于认证的有这么多种方式 先看默认的 authentication  api guid REST_FRAMWORK:{ }  是整个django rest framwork 整个的变量配置中心 SessionAuthentication实际上是使用了django里面的sessionMiddleware 每当一个request 进来的时候,这两个meddleware就会将我们的cookie里的session_id转换成request.us

xadmin引入样式无效

当使用下面方式引入xadmin样式的时候发现并没有效果: file:adminx.py xadminxadmin views BaseSetting():    enable_themes = use_bootswatch = Some Codes...xadmin.site.register(views.CommAdminViewGlobalSettings) file:__init__.py default_app_config = "users.apps.UsersConfig"

xadmin引入django-import-export导入功能

一.安装 由于xadmin自带的包里面已经包含了django-import-export 所以不用再pip install django-import-export了 但是xadmin管理后台只有导出按钮 没有导入按钮 所以本次引入了导入功能 二.配置文件 demo/settings.py: import os # Build paths inside the project like this: os.path.join(BASE_DIR, ...)BASE_DIR = os.path.dir

xadmin引入celery执行异步任务与定时任务

一.安装 pip install celery pip install django-celery-beat pip install django-celery-results pip install redis 安装这4个库 请注意不是django-celery.django-redis.celery-with-redis等库 以前版本的Celery需要一个单独的库来与Django一起工作 但是自从3.1以后就不再是这样了 Django现在支持开箱即用 pip list celery==4.3

在Py文件中引入django环境

复制manage.py中的相关代码即可并将文件置于Project文件夹(与manage.py同位置)下 示例: #! /usr/bin/env python # -*- coding:utf-8 -*- import os if __name__ == "__main__": os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings") #your codes from dj

pycharm引入django

在mac上已经安装django,依赖于python3.6.0,在pycharm上的file-->default setting中也已经调整project interpreter为3.6.0,import django相关模块时依然提示无法找到第三方模块 调整以下两个配置,重启pycharm后解决 修改 pycharm community edition--->reference-->project:[apitest]-->project interpreter:3.6.0*****

xadmin引入django-stdimage在列表页预览图片

一.安装 pip install django-stdimage 安装django-stdimage库 https://github.com/codingjoe/django-stdimage GitHub主页 二.配置demo/settings.py: 'stdimage',# django-stdimage 其他的配置不用更改 也没有静态资源文件 三.模型product/models.py: 修改产品图片字段 from ckeditor_uploader.fields import Rich