小编daj*_*jee的帖子

如何在Django REST Framework中显示查询参数选项 - Swagger

这一直困扰着我一段时间.

我的最终目标是在SwaggerUI中显示查询参数选项,并为每个查询参数提供表单输入.与为POST提供序列化程序时的显示方式类似.

我正在使用一个继承自GenericViewSet的视图集,我尝试了以下内容:

  • 提供filter_fields属性
  • 提供和设置filter_backends属性(filters.DjangoFilterBackend,)
  • 提供我的模块中定义的filter_class.
  • 覆盖options方法提供[actions][GET]信息

这是一个小问题,我没有使用任何模型,所以我不认为DjangoFilterBackend会真的帮助我.我正在使用DjangoRESTFramework与外部API进行通信,我只是简单地获取JSON结果,并将其传递给前端层.

这是我的代码的一个小修改片段,以更好地解释我的问题:

views.py

class SomeViewSet(GenericViewSet):
    # Note that I have all of these defined, but I have tried various combinations
    filter_fields = ('query_option_1', 'query_option_2',)
    filter_backeds = (filters.DjangoFilterBackend,)
    filter_class = SomeFilter
    query_metadata = some_dict

    # This works when request is OPTIONS
    def options(self, request, *args, **kwargs):
        if self.metadata_class is None:
            return self.http_method_not_allowed(request, *args, **kwargs)
        data = self.metadata_class().determine_metadata(request, self)
        data['actions']['GET'] = self.query_metadata
        return Response(data, status=status.HTTP_200_OK)
Run Code Online (Sandbox Code Playgroud)

filters.py …

python django rest django-rest-framework

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

来自用户C++的可选参数

我正在制作命令行文字编辑程序.提示用户输入控制字符以对文件进行更改.命令'D'无法删除单行文本或一系列文本.

input D:
        D 3       --deletes line 3
        D 2 8     --deletes lines 2 to 8 inclusively 
Run Code Online (Sandbox Code Playgroud)

如何使第二行是可选的?我有cin << char << int << int,但我找不到一种方法来使这个可选.

c++

3
推荐指数
1
解决办法
155
查看次数

C++树输出错误

对于我的数据结构类,我们正在创建一个可用于轻松存储和组织数据的数据结构.我的树的输出功能有问题.我得到的错误消息是:

AccountDB.cpp: In member function ‘void AccountDB::output(std::ostream&) const’:
AccountDB.cpp:23:21: error: passing ‘const AccountDB’ as ‘this’ argument of ‘void    
AccountDB::output(std::ostream&, const AccountDB::Elem*)’ discards qualifiers [-fpermissive]
Run Code Online (Sandbox Code Playgroud)

我一直在环顾四周,我的输出代码看起来与其他人的做法非常相似.我不知道,我真的不明白这个错误试图告诉我什么.

谢谢你的帮助.

标题:

#ifndef ACCOUNTDB_H
#define ACCOUNTDB_H


#include <iostream>

using namespace std;


#include "AccountRecord.h"

class AccountDB {

public:
    AccountDB();
    ~AccountDB();
    void insert( const AccountRecord &v );
    AccountRecord * get( const AccountRecord &v );
    void output( ostream &s ) const;

private:
    struct Elem {
        AccountRecord info;
        Elem *left;
        Elem *right;
    };

Elem *root;

void insert( const AccountRecord …
Run Code Online (Sandbox Code Playgroud)

c++ tree data-structures

3
推荐指数
1
解决办法
198
查看次数

静态函数里面的静态变量?

Java String Literal Pool的简单C++仿真

嗨,

我无法通过MyString类中的私有静态变量进行调用.任何的想法?

static void displayPool() {
    MyString::table->displayAllStrings();
}
StringTable* (MyString::table) = new StringTable();
Run Code Online (Sandbox Code Playgroud)

这两个都在MyString类中声明.table是一个私有变量.

谢谢.

编辑:头文件

#ifndef MYSTRING_H
#define MYSTRING_H

#include <iostream>
#include <cstring>
#include <cstdlib>
using namespace std;
#define POOLSIZE 100

class StringTable {
 public:
    StringTable();
    int addString(const char *str);
    char* getString(int i);
    void deleteString(int i);
    void displayAllStrings();
    void addCount(int);
    void minusCount(int);
 private:
    char** array; //da pool
    int* count;
    int size;
    int numStrings;
};

class MyString {
 public:
   MyString(const char*);
   MyString(const MyString&);
   ~MyString();
   static void …
Run Code Online (Sandbox Code Playgroud)

c++ static

2
推荐指数
1
解决办法
1985
查看次数

C++派生类是抽象错误

我在Dialin中遇到麻烦,派生类是抽象的.我不确定为什么因为我所拥有的唯一虚函数具有相同的参数和相同的返回类型.从我所读到的,这是唯一的限制,但显然我错了.

这是我的代码:

标题:

class Event{
    class ModemSimV2;

public:
    Event( );
    Event( const Event &e );
    ~Event( );

    virtual void process( ModemSimV2 &m ) = 0;

protected:
    int who;        // the number of the user
    int time;       // when the event will occur
    int what;       // DIAL_IN or HANGUP
};


 class Dialin : public Event{
     class ModemSimV2;
 public:
     Dialin( int name = 0, int tm = 0 );
     Dialin( const Dialin &d );
     ~Dialin( );

     virtual void process( ModemSimV2 &m ); …
Run Code Online (Sandbox Code Playgroud)

c++ virtual inheritance abstract-class

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

合并MIDI和Wav文件

我希望能够合并多个midi文件和wav文件,并在Python或C中生成单个wav或mp3文件.是否有一个库可以执行此操作?我是否必须首先将MIDI转换为wav,然后将wav文件合并在一起?我知道有Python的库可以做到这一点,但我不知道是否有办法用MIDI和wav做到这一点.

此外,这项操作有多贵?我宁愿在Python中这样做,但如果用C语言做得更好,我就知道C所以我也会对此持开放态度.

谢谢,

大卫

c python audio midi wav

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

在C中获取帧指针

我试图在我的C程序中获得FP,我尝试了两种不同的方法,但它们都与我运行GDB时的方式不同.

我尝试的第一种方法,我在C中为Assembly函数创建了一个协议函数:

int* getEbp();
Run Code Online (Sandbox Code Playgroud)

我的代码看起来像这样:

int* ebp = getEbp(); 
printf("ebp: %08x\n", ebp); // value i get here is 0xbfe2db58

while( esp <= ebp )       
    esp -= 4;

printf( "ebp: %08x, esp" ); //value i get here is 0xbfe2daec
Run Code Online (Sandbox Code Playgroud)

我的汇编代码

getEbp:
    movl %ebp, %eax
    ret
Run Code Online (Sandbox Code Playgroud)

我尝试使原型函数只返回一个int,但这也与我的GDB输出不匹配.我们正在使用x86程序集.

编辑:拼写错误,我的getEsp函数看起来与另一个完全相同:

getEsp:
    movl %esp, %eax
    ret
Run Code Online (Sandbox Code Playgroud)

c x86 assembly

0
推荐指数
2
解决办法
4148
查看次数

C++编译错误 - 未知类型名称

对于我的CS分配,我们实现了一个二进制堆来替换她工作程序中的STL优先级队列,这是第一部分.对于第二部分,我们必须使用多态重新实现它.我完成了第一部分,我所做的只是将所有类划分为自己的头文件和源文件,我收到了大量的错误.在xcode上它显示未知类型名称'Event'.

我尝试更改#ifndef的东西(对不起,我不知道它叫什么),但没有运气.

任何帮助将不胜感激,谢谢.

大卫



我正在使用xcode,但这是来自终端的错误消息:

In file included from ModemSimV2.h:5,
                 from Event.h:4,
                 from Event.cpp:1:
EventHeap.h:18: error: expected ‘,’ or ‘...’ before ‘&’ token
EventHeap.h:18: error: ISO C++ forbids declaration of ‘Event’ with no type
EventHeap.h:19: error: ISO C++ forbids declaration of ‘Event’ with no type
EventHeap.h:19: error: expected ‘;’ before ‘*’ token
EventHeap.h:23: error: ISO C++ forbids declaration of ‘Event’ with no type
EventHeap.h:23: error: expected ‘;’ before ‘*’ token
In file included from Event.h:4,
                 from EventHeap.h:8,
                 from EventHeap.cpp:1:
ModemSimV2.h:11: …
Run Code Online (Sandbox Code Playgroud)

c++ compiler-errors data-structures

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