zoukankan      html  css  js  c++  java
  • django rest framework 与 Vue 整合遇到的坑

    前提是已经有了Django项目与前端Vue打包好的dist文件

    好,开始整合!!!

    当然还是先设置Django的setting.py

    1设置模板路径

    2 设置静态文件路径

    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': ['appfront/dist'],#****设置它****
            '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',
                ],
            },
        },
    ]
    
    
    ######静态文件路径#####
    STATIC_URL = '/static/'  #注意是static
    STATICFILES_DIRS = (os.path.join(BASE_DIR, 'appfront/dist/static/'),)

    然后设置路由了

    由于drf使用路由注册,所以不能跟往常那样匹配路由设置

    router = DefaultRouter()
    router.register(r'backend/video_list', VideosViewset, base_name='video_list')
    router.register('backend/create_lunbo', LunboViewset, base_name='create_lunbo')
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('', TemplateView.as_view(template_name='index.html')),#####千万记住,别写东西,要不然只走后端,不走前端路由
        re_path(r'create_lunbo/media/images/(?P<path>.*)', serve, {'document_root': settings.MEDIA_ROOT}),
    ]
    urlpatterns += router.urls

    注意是使用

    urlpatterns += router.urls

    来是路由生效。  前端的index.html是通过 

    TemplateView.as_view(template_name='index.html')

     加载静态index文件,好了,这样就实现相结合了。

  • 相关阅读:
    JavaScript脚本学习
    PE文件结构 (转贴)
    Squid 代理服务器 编译源码 伪造HTTP_X_FORWARDED_FOR 请求头
    设置win2003远程桌面允许2个以上会话
    2003远程桌面声音问题
    AS3正则表达式
    Visual Studio技巧之打造拥有自己标识的代码模板
    如何重建sql数据库索引
    多线程系列(转)
    时间差
  • 原文地址:https://www.cnblogs.com/wbdream/p/10675646.html
Copyright © 2011-2022 走看看