小编Per*_*ulf的帖子

django-rest-framework:如何序列化已经包含JSON的字段?

我是django-rest-framework的新手,所以可以使用一些帮助.

我有一个TextField的对象,它是一个包含JSON的字符串.

我正在使用django-rest-framework将整个对象序列化为JSON.但是,这个已经是JSON的字符串被序列化为包含JSON而不是JSON本身的编码字符串.

如何告诉序列化器按原样发送此字段而不是尝试将此字符串转换为JSON?我可以使用某种"忽略"装饰器或覆盖吗?或者我可以在序列化之前预先解析这个JSON吗?

这是有以下区别:

{"data": data}
Run Code Online (Sandbox Code Playgroud)

{"data": "data"}
Run Code Online (Sandbox Code Playgroud)

后者在客户端使用起来更麻烦......

python django serialization json django-rest-framework

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

Flask表单验证设计

我不是编程新手,但我是Python和Flask的新手.我有关于表单验证的设计问题.

我有一个注册表单,用于捕获用户信息以及他们所属的公司.然后,该表单将验证电子邮件是否已被使用,但我还想验证该公司之前是否已注册.我不希望同一家公司不止一次注册.

试图仅仅匹配公司名称可能会导致问题,因为用户不一定拼写相同的东西(即:添加或省略标点符号).我的想法是验证公司名称中的前X个字符,街道地址编号和邮政编码.如果匹配,则不允许用户注册,他们将不得不打电话(或其他一些过程待确定).

好的,真正的问题......将验证添加到WTF表单是否更好?或者在模型中添加辅助函数?我正在验证三个领域并且不知道哪个是最佳实践.

编辑 - 我真的在问我是否必须在多个字段上进行验证,是将它添加到表单中还是在模型中使用辅助函数?

谢谢你的协助.

吉米

python forms validation flask

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

如何解决--------未定义的引用`__chkstk_ms'--------在mingw上

我刚刚在 mingw 上安装了 gcc 和 g++。我编写了一个非常简单的“hello world”程序来测试 g++ 编译器是否工作。代码:

#include <iostream>
using namespace std;
int main()
{
cout << "hello world" << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)

编译:

g++ Test.cpp
Run Code Online (Sandbox Code Playgroud)

然后出现一些错误:

D:/MinGW[Finished in 0.6s with exit code    1]/bin/../lib/gcc/mingw32/3.4.5/../../../../mingw32/lib/crt2.o: In function `_mingw_setargv':
D:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../mingw32/lib/libmingwex.a(glob.o): In function `glob_match':
i:\p\giaw\src\pkg\mingwrt-4.0-1-mingw32-src\bld/../mingwrt-4.0.0-1-mingw32-src/src/libcrt/misc/glob.c:733: undefined reference to `__chkstk_ms'
D:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../mingw32/lib/libmingwex.a(glob.o): In function `glob_strdup':
i:\p\giaw\src\pkg\mingwrt-4.0-1-mingw32-src\bld/../mingwrt-4.0.0-1-mingw32-src/src/libcrt/misc/glob.c:85: undefined reference to `__chkstk_ms'
D:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../mingw32/lib/libmingwex.a(glob.o): In function `glob_match':
i:\p\giaw\src\pkg\mingwrt-4.0-1-mingw32-src\bld/../mingwrt-4.0.0-1-mingw32-src/src/libcrt/misc/glob.c:841: undefined reference to `__chkstk_ms'
D:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../mingw32/lib/libmingwex.a(glob.o): In function `glob_strdup':
i:\p\giaw\src\pkg\mingwrt-4.0-1-mingw32-src\bld/../mingwrt-4.0.0-1-mingw32-src/src/libcrt/misc/glob.c:85: undefined reference to `__chkstk_ms'
D:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../mingw32/lib/libmingwex.a(glob.o):i:\p\giaw\src\pkg\mingwrt-4.0-1-mingw32-src\bld/../mingwrt-4.0.0-1-mingw32-src/src/libcrt/misc/glob.c:85: more undefined references …
Run Code Online (Sandbox Code Playgroud)

c++ linker mingw g++

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

从向量 c++ 中获取匹配项的索引

我正在遍历地图,该地图值类型是向量。我在地图中一一获取向量并使用 std::find() 方法搜索项目。

for(BoundWaysMap::const_iterator iterator  = boundWays.begin(); iterator != boundWays.end(); iterator++) 
{
    string wayId = iterator->first;
    std::vector<string> nodesRefCollection = iterator->second;

    if(std::find(nodesRefCollection.begin(), nodesRefCollection.end(), id)!=nodesRefCollection.end())
    {
        std::string cont = "|" + wayId;
        legsFrame.append(cont);
        legsCount ++;
        isFound = true;
    }    
}
Run Code Online (Sandbox Code Playgroud)

我想从 find 方法中获取找到的项目的索引。

c++ stdvector

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

列必须使用非空白名称构造

我有以下代码:

import dbabslayer
from sqlalchemy import *
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Table, Column, Integer, String, MetaData

dbObj = dbabslayer.DbAbsLayer();

meta = MetaData()
base = declarative_base()

class TrEnAhmadaliTable(declarative_base()):
        __tablename__ = 'tr_en_ahmadali';       
        id = Column(Integer,primary_key = True,autoincrement = True)
        sura = Column(Integer)
        aya = Column(Integer)
        aya_text = Column(Unicode(convert_unicode=False))

tr_en_aliahmadi = Table('tr_en_ahmadali',base.metadata,
       Column(Integer,primary_key = True,autoincrement = False, nullable=False),
       Column('sura', Integer, nullable=False),
       Column('aya', Integer, nullable=False),
       Column('aya_text', UnicodeText(convert_unicode=False), nullable=False)
)
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

MetaData(bind=None)
Traceback (most recent call last):
  File "./haq.py", line 10, in …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy

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

使用 valgrind 时出现奇怪的错误?也许是一个错误?

我正在开发一个 C++ 程序,完成后,我想检查内存泄漏,但我发现 valgrind 出现了一个奇怪的错误:

\n\n
   ==9106== Invalid free() / delete / delete[] / realloc()\n   ==9106==    at 0x4006C58: free (vg_replace_malloc.c:427)\n   ==9106==    by 0x42EB637D: free_mem (in /lib/libc-2.5.so)\n   ==9106==    by 0x42EB5F16: __libc_freeres (in /lib/libc-2.5.so)\n   ==9106==    by 0x4002451: _vgnU_freeres (vg_preloaded.c:61)\n   ==9106==    by 0x42E38EA3: _Exit (in /lib/libc-2.5.so)\n   ==9106==    by 0x42DC0DF3: (below main) (in /lib/libc-2.5.so)\n   ==9106==  Address 0x403f818 is not stack\'d, malloc\'d or (recently) free\'d\n
Run Code Online (Sandbox Code Playgroud)\n\n

由于它没有告诉任何有关无效删除所在的行号的信息,因此我不得不使用注释块的方法。

\n\n

令人惊讶的是,直到我注释了所有代码,错误仍然出现。

\n\n

我终于有了这段代码:

\n\n
int main(int argc, char** argv) {\n    /* ... all other code */\n    return …
Run Code Online (Sandbox Code Playgroud)

c++ linux profiling valgrind

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

python函数调用的参数顺序

假设我有一个function具有10 args:

def foo(arg1,arg2,arg3,arg4.....):
Run Code Online (Sandbox Code Playgroud)

有时候,我只需要arg1和其他时间一起打电话arg1, arg4,或者arg4 , arg7.

我的程序没有指定函数调用的类型.python有办法帮助我吗?

python function parameter-passing

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

导航到 ZSH (bash) 中的目录

我正在使用Oh-My-ZSH创建一些 ailises 和功能,以减轻我的重复工作负载。

我需要从我电脑的任何地方导航到我的前端目录。这就是我所拥有的:

frontend(){
  cd ~/Desktop/Work/Frontend
  cd $1
}
Run Code Online (Sandbox Code Playgroud)

现在,当我输入frontend或 时frontend myProject,这很有效,但是,我所有的项目文件夹都以类似的内容作为后缀.m.tablet等等。

我怎样才能写出以下内容:

  • 会让我自动导航到一个文件夹,然后是 .something

  • 当有多个选项(如project.mproject.tablet)时,将提示我类似的选项,如果您在终端中点击 Tab 并获得多个自动完成选项。

我希望我的问题是有道理的。

谢谢。

shell zsh oh-my-zsh

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

PyQt QLineEdit 与 QValidator

我的项目中有一个 QLineEdit。\n我想在 lineEdit 上使用 QValidation。

\n\n
#Create lineEdit\nitemValue = QtWidgets.QLineEdit()\n#Create \xd0\xb2\xd0\xb0\xd0\xbb\xd0\xb8\xd0\xb4\xd0\xb0\xd1\x82\xd0\xbe\xd1\x80\nobjValidator = QtGui.QDoubleValidator(self)\n#setup range\nobjValidator.setRange(-10.0, 100.0, 5)\n#lineEdit with validation\nitemValue.setValidator(objValidator)\n
Run Code Online (Sandbox Code Playgroud)\n\n

但效果不佳。我可以输入我想要的内容,除了符号。\n并且范围不起作用!我可以输入 100500 或 -100500,但我希望用户只能输入范围内的数字。

\n\n

我应该如何使用范围?\n我需要帮助:)

\n\n

谢谢你们的帮助,伙计们!

\n

python qt qlineedit pyqt5

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

有没有使用公共虚拟方法的正当理由?

有没有使用公共虚拟方法的正当理由?

我已经阅读过某个地方,我们应该避免使用公共虚拟方法,但我想向专家确认这是否是有效的声明?

c++ polymorphism c++11

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