小编who*_*rth的帖子

django rest框架返回文件

我在views.py中有以下视图 -

class FilterView(generics.ListAPIView):
    model = cdx_composites_csv

    def get(self, request, format=None):
        vendor = self.request.GET.get('vendor')
        filename = self.request.GET.get('filename')
        tablename = filename.replace(".","_")
        model = get_model(vendor, tablename)
        filedate = self.request.GET.get('filedate')        
        snippets = model.objects.using('markitdb').filter(Date__contains=filedate)
        serializer = cdx_compositesSerializer(snippets, many=True)
        if format == 'raw':
            zip_file = open('C:\temp\core\files\CDX_COMPOSITES_20140626.zip', 'rb')
            response = HttpResponse(zip_file, content_type='application/force-download')
            response['Content-Disposition'] = 'attachment; filename="%s"' % 'CDX_COMPOSITES_20140626.zip'
            return response

        else:
            return Response(serializer.data)
Run Code Online (Sandbox Code Playgroud)

它适用于xml,json,csv,但是当我尝试使用raw时,它不会返回文件,而是提供""详细信息":"未找到""为什么会发生这种情况?

我正在点击的URL如下 -

有效的json示例 -

http://dt-rpittom:8000/testfilter/?vendor=markit&filename=cdx_composites.csv&filedate=2014-06-26&format=json

这应该返回一个zip文件供下载.

http://dt-rpittom:8000/testfilter/?vendor=markit&filename=cdx_composites.csv&filedate=2014-06-26&format=raw

python django django-rest-framework

14
推荐指数
2
解决办法
2万
查看次数

使用font-awesome的react-create-app

我正在使用create-react-app而且我正在尝试集成font-awesome,所以我可以在我的SPA中使用它.

我已经完成npm install font-awesome并安装了它,但是当我尝试调用时,import 'font-awesome/css/font-awesome.css'我收到以下错误:

Compiling...
Failed to compile.

Error in ./~/font-awesome/css/font-awesome.css
Module parse failed: C:\Projects\myproject\ui\node_modules\font-awesome\css\font-awesome.css Unexpected character '@' (7:0)
You may need an appropriate loader to handle this file type.
SyntaxError: Unexpected character '@' (7:0)
 @ ./src/index.js 11:0-44
Run Code Online (Sandbox Code Playgroud)

font-awesome reactjs

8
推荐指数
1
解决办法
4997
查看次数

DRF - 方法'GET'不允许

我正在尝试在Django Rest Framework中设置基于类的视图.

这是我的urls.py -

from django.conf.urls import patterns, include, url
from rest_framework.urlpatterns import format_suffix_patterns
from django.contrib import admin
from TidalDEV import views

admin.autodiscover()

urlpatterns = patterns('',
    url(r'^test/(?P<pk>[0-9]+)/$', views.TESTXMLDetail.as_view()),    
)
Run Code Online (Sandbox Code Playgroud)

这是我的看法 -

import os, tempfile, zipfile
from django.shortcuts import render
from django.core import serializers
from django.core.serializers import serialize
from django.core.servers.basehttp import FileWrapper
from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt
from rest_framework.renderers import JSONRenderer, XMLRenderer
from rest_framework.parsers import JSONParser
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework.permissions import …
Run Code Online (Sandbox Code Playgroud)

python django django-rest-framework

7
推荐指数
1
解决办法
1万
查看次数

datatables - 排序图标重复

我正在尝试为此处找到的数据表设置示例 -

http://www.datatables.net/examples/basic_init/zero_configuration.html

一切都很成功,但由于某种原因,排序图标是重复的,我不知道为什么.

这就像它显示的那样 -

这是我正在使用的HTML -

{% extends "dashboard/base.html" %}

{% load static %}

{% block extra_head %}

    <!-- Tribal CSS -->
    <link href="{% static "css/plugins/tribal/tribal-bootstrap.css" %}" rel="stylesheet" />
    <link href="{% static "css/plugins/tribal/tribal-form.css" %}" rel="stylesheet" />

    <!-- Tribal JS -->
    <script src="{% static "js/plugins/tribal/tribal-form.js" %}"></script>
    <script src="{% static "js/plugins/tribal/tribal-shared.js" %}"></script>

    <!-- DataTables CSS -->
    <link rel="stylesheet" type="text/css" href="//cdn.datatables.net/1.10.7/css/jquery.dataTables.css">

    <!-- DataTables -->
    <script type="text/javascript" charset="utf8" src="//cdn.datatables.net/1.10.7/js/jquery.dataTables.min.js"></script>

    <script type="text/javascript" charset="utf-8">
    $(document).ready(function() {
        $('#files').DataTable();
    } );
    </script>

{% endblock %}

{% …
Run Code Online (Sandbox Code Playgroud)

javascript django jquery datatables

7
推荐指数
1
解决办法
8150
查看次数

django 测试 - 如何获取响应数据以备将来使用

我正在运行这样的登录测试:

def test_login_user(self):
    client = APIClient()
    url = reverse('rest_login')
    data = {
        'username': 'test',
        'password': 'Welcome2'
    }
    response = self.client.post(url, data)
    self.assertEqual(response.status_code, status.HTTP_200_OK)
    client.logout()
Run Code Online (Sandbox Code Playgroud)

如果我正常登录应用程序,我会看到一个 json 返回,如下所示:

{
    "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoyLCJ1c2VybmFtZSI6ImV2YW4iLCJleHAiOjE1MTQ2NzYzNTYsImVtYWlsIjoiZXZhbkAyOGJlYXR0eS5jb20iLCJvcmlnX2lhdCI6MTUxNDY3Mjc1Nn0.8CfhfgtMLkNjEaWBfNXbUWXQMZG4_LIru_y4pdLlmeI",
    "user": {
        "pk": 2,
        "username": "test",
        "email": "test@test.com",
        "first_name": "",
        "last_name": ""
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望能够获取该token值以备将来使用,但是response似乎没有data获取值。

django unit-testing django-rest-framework

6
推荐指数
2
解决办法
4509
查看次数

位于0x7ff4e003d1d0的<django.db.models.fields.related.RelatedManager对象>不是JSON可序列化的

我在反向关系上获得以下追溯 -

Traceback:
File "/opt/common/external/python_modules/django/core/handlers/base.py" in get_response
  164.                 response = response.render()
File "/opt/common/external/python_modules/django/template/response.py" in render
  158.             self.content = self.rendered_content
File "/opt/common/external/python_modules/rest_framework/response.py" in rendered_content
  71.         ret = renderer.render(self.data, media_type, context)
File "/opt/common/external/python_modules/rest_framework/renderers.py" in render
  674.         context = self.get_context(data, accepted_media_type, renderer_context)
File "/opt/common/external/python_modules/rest_framework/renderers.py" in get_context
  635.             'content': self.get_content(renderer, data, accepted_media_type, renderer_context),
File "/opt/common/external/python_modules/rest_framework/renderers.py" in get_content
  397.         content = renderer.render(data, accepted_media_type, renderer_context)
File "/opt/common/external/python_modules/rest_framework/renderers.py" in render
  103.             separators=separators
File "/opt/common/external/anaconda/2.3.0/lib/python2.7/json/__init__.py" in dumps
  250.         sort_keys=sort_keys, **kw).encode(obj)
File "/opt/common/external/anaconda/2.3.0/lib/python2.7/json/encoder.py" in encode
  209.             chunks = list(chunks) …
Run Code Online (Sandbox Code Playgroud)

python django django-rest-framework

5
推荐指数
2
解决办法
4508
查看次数

liquibase - 运行 Liquibase 时出现意外错误:'up' 附近的语法不正确

我正在使用 liquibase 部署以下 SQL 代码:

-- updated Record Permissions trigger
USE [ITAM]
GO
/****** Object:  Trigger [dbo].[tr_tblRecordPermissions]    Script Date: 03/04/2016 22:10:42 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER TRIGGER [dbo].[tr_tblRecordPermissions] ON [dbo].[tblRecordPermissions] INSTEAD OF UPDATE, DELETE AS
BEGIN
    SET NOCOUNT ON


    --
    -- Use a variable to capture current date/time and re-use
    -- We don't want to repeatedly call getDate() as the time will drift
    -- and it'll look like we updated different records at different times …
Run Code Online (Sandbox Code Playgroud)

liquibase

5
推荐指数
1
解决办法
2222
查看次数

django - 是否可以抽象 auth_group 模型?

我知道可以执行以下操作:

class EnterpassUser(AbstractUser):
    uuid = models.UUIDField(default=uuid4, editable=False, unique=True)
    is_application = models.BooleanField(default=False, editable=False)

    class Meta:
        db_table = 'enterpassuser'
        managed = True

    def __str__(self):
        return self.username
Run Code Online (Sandbox Code Playgroud)

这允许我使用auth_user模型并创建一个独特的enterpassuser模型来替换它。

我想这样做与模型组类似的事情但是每一个选项我遇到我的力量,以保持表的名称作为auth_groupauth_group_permissions在那里我想它保持同样的工艺流程创建自定义的用户模型。

django

5
推荐指数
0
解决办法
533
查看次数

django - 语法无效(urls.py,第7行)

我在我的urls.py上做了一点点变化,我从以下教程中得到了以下内容 -

mysite/urls.py -

from django.conf.urls import patterns, include, url

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    url(r'^admin/', include(admin.site.urls)),
    url(r'^TidalDEV/', include('TidalDEV.urls')),
)
Run Code Online (Sandbox Code Playgroud)

TidalDEV/urls.py -

from django.conf.urls import patterns, url

from TidalDEV import views

urlpatterns = patterns('',
    url(r'^$', views.index, name='index')
    url(r'^(?P<pk>[0-9]+)/$', views.tesxml, name='tesxml'),
)
Run Code Online (Sandbox Code Playgroud)

这是views.py中的视图 -

def tesxml(self, request, pk, format=None, renderer_context=None):
    """
    returns an XML of a jobmst listing
    """
    template_vars['jobmst'] = (queryset1, [pk])
    template_vars['jobdtl'] = (queryset2, [pk]) 
    template_vars['jobdep'] = (queryset3, [pk])

    t = loader.get_template('TidalAPI/templates/xml_template.xml')
    c = Context(template_vars)

    return …
Run Code Online (Sandbox Code Playgroud)

django

4
推荐指数
1
解决办法
4603
查看次数

Django Rest框架多个数据库

我有一个视图,该视图用于GET和POST到不是默认数据库的数据库。

class DeployResourceFilterView(generics.ListAPIView):
    serializer_class = ResourceSerializer

    def get(self, request, format=None):
        resname = self.request.GET.get('name')
        queryset = Resmst.objects.db_manager('Admiral').filter(resmst_name=resname)
        serializer = ResourceSerializer(queryset)
        if queryset:
            return Response(serializer.data)
        else:
            raise Http404

    def post(self, request, format=None):
        serializer = ResourceSerializer(data=request.DATA, many=True)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Run Code Online (Sandbox Code Playgroud)

GET可以正常工作,但在POST上,它总是会抱怨表不存在而不断失败。我的假设是这样做的原因是因为它试图使用默认数据库,而不是我定义为辅助数据库的“海军上将”数据库。如何分配POST以使用特定数据库而不是默认数据库?

django django-rest-framework

4
推荐指数
1
解决办法
3067
查看次数