小编aza*_*lea的帖子

如何查看Django调试工具栏?

我有一个Django webapp.我已经安装了debug_toolbar中间件和模块.但是,我的webapps没有调试工具栏拉出.

我如何实际看到调试工具栏?还有什么我需要做的吗?我是否需要为我的webapp使用特定模板?我已经按照自述文件中的所有步骤进行了操作,但这还不够 - 似乎还有一些其他依赖项,或者其他我缺少的东西.

此外,望着URL模式集合了我的web应用程序时,将调试前缀不是公认的模式中找到.我在debug_toolbar中放入了一个urls.py日志,以确保激活的debug_toolbar应用程序正在加载模块.

这让我完全神秘,我找不到谷歌或自述文件来做这个实际显示,或者要求是什么,所以你能提供的任何指针都会很棒!

编辑:事实证明,我正在使用SSH隧道从运行浏览器的机器到运行Django/Apache的机器进行测试.在这种情况下,远程机器实际看到的IP地址不是我想象的那样,因此"好"IP列表不包含浏览器的明显远程机器.修复那个解决了问题!

python django django-debug-toolbar

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

将发布数据从angularjs发送到django作为JSON而不是原始内容

我有这样的请求:

$http({ 
    method: 'POST', 
    url: '/url/', 
    data: 'test=data'
})
Run Code Online (Sandbox Code Playgroud)

在我的django观点中:

class SomeClass(View):
    def get(self, request):
        return HttpResponse("Hello")
    def post(self, request):
        print request.post
        print request.body
        return HttpResponse("Done")
Run Code Online (Sandbox Code Playgroud)

所以,当我这样做时,request.POST 我得到一个空的查询字典:<QueryDict: {}>

但我request.body有:test=data

所以我相信django将数据作为url编码的参数而不是字典接收.

如何以JSON/Dict发送或接收此数据?

python django http-post angularjs

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

问:如何在状态栏中添加两个小部件(比如说QPushButton),一个在左边,另一个在右边?

我想QPushButton在状态栏中添加两个小部件(比如说),一个在左边,另一个在右边.

我想在两个小部件之间添加水平间隔,但不知道如何添加.

PS:我尝试使用addWidget()添加到左侧并addPermanentWidget()添加到右边但它看起来不整洁而且感觉不对.

c++ layout qt statusbar

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

QListWidget,其中项目可在项目单击时检查

我有一个带有可检查项目的 QListWidget,到目前为止它工作正常。现在我不仅想通过单击小复选框矩形来检查项目,而且还想通过单击项目本身来检查项目。

所以我实现了这个功能

void TagList::on_tagList_itemClicked(QListWidgetItem *item)
{
    if( item==nullptr )
        return;

    clicked_ = true;
    if( item->data(Qt::CheckStateRole) != Qt::Checked  )
        item->setData( Qt::CheckStateRole, Qt::Checked );
    else
        item->setData( Qt::CheckStateRole, Qt::Unchecked );
    clicked_ = false;
}
Run Code Online (Sandbox Code Playgroud)

(clicked_ 是我接下来描述的脏黑客的类变量。)

它设置了项目单击时的检查状态,但是现在项目不再可以通过单击复选框矩形来检查,因为它被 ListWidget 和我的插槽切换了两次。不幸的是,ListWidget 仅使用单列模型,因此我无法区分对复选框的点击和对模型索引对项目的点击。

然后我也实现了

void TagList::onModelItemChanged(QModelIndex tl, QModelIndex br, QVector<int> roles)
{
if( (roles.empty() || roles.contains(Qt::CheckStateRole)) && !clicked_ ){
    qDebug() << "changed with no click";
    clicked_ = true;
    if( tl.data(Qt::CheckStateRole)== Qt::Unchecked )
        ui->tagList->model()->setData(tl,Qt::Checked,Qt::CheckStateRole);
    else
        ui->tagList->model()->setData(tl,Qt::Unchecked,Qt::CheckStateRole);
    clicked_ = false;
}else{
    qDebug() << "changed after click";
} …
Run Code Online (Sandbox Code Playgroud)

c++ qt

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

Django:在向 auth.User 添加自定义管理器时不创建迁移

我想为内置auth.User模型添加一个自定义管理器。

由于链接到 auth_user 表的数据库中的现有数据,我避免切换到我自己的用户模型。

所以我将以下内容添加到models.py:

from django.contrib.auth.models import User, UserManager

class ActiveUserManager(UserManager):
    use_in_migrations = False
    def get_queryset(self):
        return super().get_queryset().filter(is_active=True)

# Monkeypatch auth.User to have custom manager
User.add_to_class('active_users', ActiveUserManager())
Run Code Online (Sandbox Code Playgroud)

这似乎有效,直到当我运行时python manage.py makemigrations,Django000n_auto_20181002_1721.pymyvenv/Lib/site-packages/django/contrib/auth/migrations文件夹中创建一个迁移文件,内容如下:

# imports omitted
class Migration(migrations.Migration):

    dependencies = [
        ('auth', '0008_alter_user_username_max_length'),
    ]

    operations = [
        migrations.AlterModelManagers(
            name='user',
            managers=[
                ('active_users', django.db.models.manager.Manager()),
                ('objects', django.contrib.auth.models.UserManager()),
            ],
        ),
    ]
Run Code Online (Sandbox Code Playgroud)

use_in_migrations = False在课堂ActiveUserManager上设置无济于事。

我非常感谢您就如何避免创建此迁移文件或如何在auth.User没有此行为的情况下向内置模型添加自定义管理器的建议。我正在使用 Django 1.11。

python migration django django-authentication python-3.x

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

如何将QChar转换为int

在C++中,有一种方法可以将char转换为int并获得ascii值.有没有这样的方法用qchar做同样的事情?由于unicode支持如此多的角色,其中一些实际上看起来很相似,因此有时很难分辨出一个人在处理什么.显式代码点或可用于获取此类代码的数字将非常有用.

我搜索了一个网站和这个网站寻求解决方案,但到目前为止没有运气,Qt文档也没有多大帮助,除非我忽略了一些东西.

先感谢您!

编辑:

也许我对此事不够清楚,抱歉.

这是一些代码:

char chChar = 'a';
cout << (int)chChar; // will output 97, not 'a'
Run Code Online (Sandbox Code Playgroud)

此外,Qt允许这样:

QChar ch = 'a';
if(ch == 0x61)
//...
Run Code Online (Sandbox Code Playgroud)

据我所知,必须有一些与ch对象中的unicode代码点相关的信息.有可能把它从那里拿出来吗?

int qt casting codepoint qchar

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

如果我不随包分发 pytest 测试,如何组织它们?

正如pytest 文档中所建议的,我设置了我的包,目的不是将我的测试与我的包一起分发:

\n\n
setup.py\nmypkg/\n    __init__.py\n    mypkg/\n      appmodule.py  \ntests/\n    test_app.py\n    ...\n
Run Code Online (Sandbox Code Playgroud)\n\n

但我对如何确保这些测试在存在时正确运行(例如在 Travis CI 上或在项目目录的克隆中)感到困惑。

\n\n

我希望测试脚本中的导入应用于相邻mypkg/目录中的源(而不是任何mypkg可能安装在 中的源site-packages),但我遇到了令我困惑的错误。

\n\n

如果我遵循文档中的建议pytest并且不__init__.py添加tests/then

\n\n
from __future__ import absolute_import\nfrom mypkg.appmodule import * \n
Run Code Online (Sandbox Code Playgroud)\n\n

我明白了

\n\n
\n

导入错误:没有名为 mypkg.appmodule 的模块

\n
\n\n

当与

\n\n
from __future__ import absolute_import\nfrom ..mypkg.appmodule import * \n
Run Code Online (Sandbox Code Playgroud)\n\n

我明白了

\n\n
\n

ValueError:尝试在非包中进行相对导入

\n
\n\n

如果我忽略文档并包含一个__init__.py,那么对于后者我会得到

\n\n
\n

ValueError:尝试超出顶级包的相对导入

\n
\n\n

仅通过包含 …

software-distribution pytest python-2.7

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

从 Django 模板中的 response.POST.get() 访问 QueryDict 元素

这是我的页面:

<p>Request as string: {{ request.POST }}</p>
Run Code Online (Sandbox Code Playgroud)

哪个正确呈现:

作为字符串请求: <QueryDict: {'csrfmiddlewaretoken': ['HPOQ0pfVf5DU0Lkz05IXqbECipdPUOcTiNGYWd4giZC7LVL5Y6jdT0nb0AcmX9pd'], 'txtNumBins': ['3'] }>

我正在尝试访问列表 txtNumBins。但是当我在 Django 模板中尝试以下任何操作时:

<p>Total bins: {{  request.POST['txtNumBins'][0]  }} </p> 
<p>Total bins: {{  request.POST.get('txtNumBins')[0]  }} </p> 
<p>Total bins: {{  request.POST['txtNumBins']  }} </p> 
<p>Total bins: {{  request.POST.get('txtNumBins')  }} </p> 
Run Code Online (Sandbox Code Playgroud)

我不断收到相同的错误:

TemplateSyntaxError at /analysis/
Could not parse the remainder: '['txtNumBins'][0]' from'request.POST['txtNumBins'][0]'
Run Code Online (Sandbox Code Playgroud)

如何按名称访问字典元素 txtNumBins?

python django

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

在Qt中将int转换为QBytearray

我正在尝试将int转换为QBytearray.我正在使用这个方法QByteArray :: number(m_vman); 这是对的吗?

我正在尝试使用number()来获取QBytearray的int

我正在尝试以下代码,但bytearray为零

    QByteArray vmanByteArray, vheaterByteArray;
    QDataStream streamVMan(&vmanByteArray, QIODevice::WriteOnly);
    QDataStream streamVHeater(&vheaterByteArray, QIODevice::WriteOnly);

    streamVMan << m_vman;
    streamVHeater << m_vheater;

QByteArray arr = m_htman ? vmanByteArray : vheaterByteArray;
Run Code Online (Sandbox Code Playgroud)

c++ qt

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