文档章节

xadmin引入django-rest-framework

o
 osc_wws45aot
发布于 2019/08/20 23:31
字数 272
阅读 11
收藏 0

一、安装:

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-framework
]

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 ProductInfo
from 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 settings
from django.conf.urls.static import static
from django.urls import path, include
from 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/

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

李开复谈2020年AI科学家创业。道翰天琼认知智能api机器人接口。

2012年至今,在深度学习推动下,这一波人工智能的蓬勃发展已进入第十个年头。 在初期,一系列由AI科学家创建的初创公司,经过大浪淘沙,如今已有多家脱颖而出成为独角兽企业;榜样在先,于是...

jackli2020
34分钟前
9
0
什么是PHP中的线程安全或非线程安全? - What is thread safe or non-thread safe in PHP?

问题: I saw different binaries for PHP, like non-thread or thread safe? 我看到了PHP的不同二进制文件,例如非线程还是线程安全的? What does this mean? 这是什么意思? What is the ...

fyin1314
47分钟前
26
0
移动社交如何玩?网易云信携手崽崽和Uki打造更多新场景!

随着95后、00后为主的年轻一代逐渐成为中国移动社交下的主力军,社交需求也发生了一些变化。这些年轻用户更倾向于有趣好玩,形式多样化的社交方式。同时也产生了如“扩列”、“养火花”等众多...

真正稳定的网易云信
54分钟前
22
0
如何在Java代码中去掉烦人的“!=null”

问题 为了避免空指针调用,我们经常会看到这样的语句 if (someobject != null) { someobject.doCalc();} 最终,项目中会存在大量判空代码,多么丑陋繁冗!如何避免这种情况?我们是否滥...

码农突围
55分钟前
21
0
ELK使用容器集成安装

1. 查看集成ELK:sebp docker search sebp 2. 设置内核参数 sysctl -w vm.max_map_count=262144 3. 拉取sebp/elk docker pull sebp/elk 4. 运行ELK yum install -y java # java环境 1.8 以上......

huanke
今天
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部