小编Xav*_*olt的帖子

当DEBUG = False时,Django给出Bad Request(400)

我是django-1.6的新手.当我运行django服务器时DEBUG = True,它运行得很好.但是,当我改变DEBUGFalse在设置文件,然后在服务器停止,并让在命令提示符下以下错误:

CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False.
Run Code Online (Sandbox Code Playgroud)

之后,我改变了ALLOWED_HOSTS["http://127.0.0.1:8000",],在浏览器中我得到的错误:

Bad Request (400)
Run Code Online (Sandbox Code Playgroud)

没有调试模式可以运行Django吗?

python django

242
推荐指数
3
解决办法
10万
查看次数

Capistrano:我可以为整个上限会话设置一个环境变量吗?

我有一个安装了标准Ruby和Ruby Enterprise的登台服务器.由于标准Ruby拒绝安装一个关键的gem,我需要设置$ PATH以便ruby/gem/rake/etc.总是参考REE版本.由于我使用Capistrano部署到我们的机器上,我需要在Capistrano中进行.

如何设置一次环境变量,并让它在整个Capistrano会话中保持不变?

1)在bashrc文件中很容易,但Capistrano不读取bashrc文件.

2)我会使用Capistrano的

default_environment['PATH'] = 'Whatever'
Run Code Online (Sandbox Code Playgroud)

但是Capistrano使用这些环境变量

env PATH=Whatever command arg ...
Run Code Online (Sandbox Code Playgroud)

每当另一个shell在传递给env的可执行文件中旋转时,它们就会丢失.就像你使用sudo一样.这有点重要:

[holt@Michaela trunk]$ env VAR=hello ruby -e "puts ENV['VAR']"
hello
[holt@Michaela trunk]$ env VAR=hello sudo ruby -e "puts ENV['VAR']"
nil
Run Code Online (Sandbox Code Playgroud)

3)我不能使用bash export命令,因为它们也丢失了--Capistrano似乎为每个命令(或类似的东西)启动了一个新shell,而且它也丢失了:

cap> export MYVAR=12
[establishing connection(s) to xxx.xxx.xxx.xxx]
cap> echo $MYVAR
 ** [out :: xxx.xxx.xxx.xxx] 
cap> 
Run Code Online (Sandbox Code Playgroud)

4)我已经尝试过使用Capistrano的:shell和:pty选项(并结合其他方法),但也没有运气.

那么 - 这样做的正确方法是什么? 这似乎是一个基本的任务,应该有一个非常简单的方法来完成它,但我没有想法.任何人?

提前致谢!

capistrano environment-variables

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

什么是这个奇怪的复制构造错误抱怨?

我在Visual Studio 2017上.最近,因为我不喜欢C++的不符合标准,所以我继续并禁用了选项中的非标准语言扩展.到现在为止还挺好.现在我有一个问题.

#include <iostream>
#include <vector>


struct Vertex
{
    Vertex(float pos) { }
    Vertex(Vertex& other) { }
};

std::vector<Vertex> arrayOfVertices;

int main()
{
    arrayOfVertices.emplace_back(7.f);
}
Run Code Online (Sandbox Code Playgroud)

这不会在Visual Studio中编译,它给出的唯一错误是:

"编译器中发生内部错误"

如果我启用语言扩展,它编译得很好.如果我禁用语言扩展并使复制构造函数采用const Vertex&它编译好.

所以我在一些在线编译器上尝试了GCC,如果复制构造函数没有采用const引用参数,它将无法编译,从而产生各种错误.似乎最有意义的是:

错误:从'Vertex'类型的右值开始无效初始化'Vertex&'类型的非const引用

我认为复制构造函数不必是const,在我的情况下我想修改另一个引用中的东西.我知道非const参数不能采用r值引用,但我测试了它,结果发现在vector::emplace_back()拷贝构造函数中根本没有调用:

#include <iostream>
#include <vector>

struct Vertex
{
    Vertex(float pos) 
    { 
        std::cout << "Calling constructor\n";
    }
    Vertex(const Vertex& other) 
    { 
        std::cout << "Calling copy constructor\n";
    }
};

std::vector<Vertex> arrayOfVertices;

int main()
{
    arrayOfVertices.emplace_back(7.f); // Normal constructor called if const,
                                       // doesn't compile if …
Run Code Online (Sandbox Code Playgroud)

c++ copy-constructor const-reference c++11

15
推荐指数
2
解决办法
2019
查看次数

IE跟随链接甚至在onclick ="return false;"之后

我正在编写一个Rails 2.3.8应用程序,并使用标准link_to帮助程序.我有一个合理数量的链接用户方法而不是GET,所以我传递了一个:method => :whatever选项link_to,它生成一个带有onclick处理程序的链接,如此(为了可读性而添加了缩进):

<a
  onclick="
    var f = document.createElement('form');
    f.style.display = 'none';
    this.parentNode.appendChild(f);
    f.method = 'POST';
    f.action = this.href;
    var s = document.createElement('input');
    s.setAttribute('type', 'hidden');
    s.setAttribute('name', 'authenticity_token');
    s.setAttribute('value', '31M3q8SJkRz7f0R80l42Z2W7O2N7ZrzufhWQYql/Zd8=');
    f.appendChild(s);
    f.submit();
    return false;"
  href="/transactions/1015/transcribe"
>
Enter Data
</a>
Run Code Online (Sandbox Code Playgroud)

现在,无论出于何种原因,IE(7和8 - 我测试的两个)已经决定return false;最终没有足够阻止它跟随链接,我最终得到两个请求到我的服务器:来自我想要的onclick处理程序的POST请求,以及来自链接本身的GET请求,我没有.实际上,除了POST请求之外,该路由不存在,因此当浏览器遵循GET请求时,用户将被转储到"错误URL"错误屏幕上.不好.

有没有人见过这个,可以告诉我是什么造成的?或者,更好的是,有没有人知道一个好的解决方法?

PS:我宁愿

  1. 猴子补丁link-to,或
  2. 写我自己的版本 link_to

但如果这就是它需要的东西,那就是它需要的东西.我正在使用jQuery 1.5.something,如果这有帮助的话.

javascript jquery internet-explorer ruby-on-rails

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

C++"最佳"参数传递方法

我今天正在编写一个C++类,我编写了一个函数,它将参数作为参考而不是指针,这是我很少做的事情.我总是通过指针传递.所以我准备改回来,然后我意识到 - 我不知道我是否应该,或者它是否重要.

所以我转向你们.我有三种传递参数的方法:

//1: By pointer
Object* foo(Object* bar) {...}

//2: By reference
Object& foo(Object& bar) {...}

//3: By value (just for completeness)
Object foo(Object bar) {...}
Run Code Online (Sandbox Code Playgroud)

假设#3出于性能原因(是的,我知道编译器已经相当好,但仍然如此),其他两个或多或少相当.

那么:什么是"最好的"方法?指针?参考文献?两者的某种组合?或者甚至重要吗?技术原因是最好的,但风格的原因同样好.

更新: 我接受了YeenFei的答案,因为它处理了为我提供的差异(即使我然后明确地忽略了他的建议 - 我喜欢将NULL作为选项......).但每个人都提出了很好的观点 - 特别是GMan(在评论中)和Nemo,在回答性能和价值传递的过程中.如果您在这里寻求答案,请检查所有答案!

c++ performance coding-style parameter-passing

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

我应该如何将SSE数据传递给我的函数/运算符?

我正在为SSE内在函数编写几个包装类 - 主要是为了获得类型安全的几何操作,还要添加一些便利函数.我的所有功能和操作符都是内联的.从理论上讲,它们都将直接编译为原始SSE汇编(无函数调用),我的电子永远不会离开XMM寄存器.

如何将我的SSE类作为参数传递以确保此结果?

我从不修改我的参数,所以选择主要是在传递值或传递const引用之间.我假设一个好的编译器会在相同的代码中优化这两种样式.但我肯定不知道.在该领域有更多经验的人能否阐述最佳实践?

提前致谢!

c++ sse simd parameter-passing intrinsics

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

"追溯联盟" - 可以做到吗?

我有两个类:一个模板类,一个继承它的常规类:

template <int N> class Vector
{
    float data[N];
    //etc. (math, mostly)
};

class Vector3 : public Vector<3>
{
    //Vector3-specific stuff, like the cross product
};
Run Code Online (Sandbox Code Playgroud)

现在,我想在子类中使用x/y/z成员变量(完整成员,而不仅仅是getter - 我希望能够设置它们).但是,为了确保所有的(继承)数学的作品出来,x就必须引用相同的内存data[0],ydata[1]等从本质上讲,我希望有一个工会,但我不能在基类中声明了一个,因为我不t知道该点向量中的浮点数.

那么 - 这可以吗?是否有某种预处理器/ typedef /模板魔法可以实现我正在寻找的东西?

PS:我正在使用带有-std = c ++ 0x的g ++ 4.6.0,如果有帮助的话.

编辑:虽然引用会给出我正在寻找的语法,但理想的解决方案不会使类更大(并且引用做了很多!A Vector<3>是12个字节.Vector3带参考的A 是40!).

c++ templates unions

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

“逆”极限?

我正在使用MySQL存储财务资料,并使用数据来构建每个帐户的所有交易记录等。出于性能方面的考虑-为了防止用户被庞大的表格所淹没-我对结果进行了分页。

现在,作为注册的一部分,我将显示该帐户的余额。因此,如果我每页显示20个事务,并且显示第二页,则使用以下数据:

  • 事务0-19:忽略它们-它们比正在查看的页面更新。
  • 交易20-39:从中选择所有内容-它们会显示出来。
  • 事务40-??:将这些金额相加,以便使运行余额准确。

那是最后一个让我很烦。这很容易选择使用LIMIT第40周的交易,但有一些类似的一切,但前40?诸如“ LIMIT -40”之类的东西?

我知道我可以用一个COUNT和一点数学就能做到这一点,但是实际的查询有点丑陋(多个JOIN和GROUP BY),所以我宁愿尽可能少地发布它。这似乎足够有用,可以包含在SQL中-我只是不知道。还有其他人吗?

mysql sql pagination limit

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

我如何隐式专门化转换?

使用以下代码,如果我尝试将模板数组转换为std :: string,而不是使用预期的std :: string转换方法编译器,则会引发歧义解决问题(因为它尝试调用数组转换方法) :

#include <iostream>

template<typename TemplateItem>
class TestA
{
    public:
        TemplateItem Array[10];

        operator const TemplateItem *() const {return Array;}
        operator const std::string() const;
};

template<>
TestA<char>::operator const std::string() const
{
    std::string Temp("");
    return Temp;
}

int main()
{
    TestA<char> Test2;
    std::string Temp("Empty");
    Temp = Test2; //Ambiguity error. std::string or TemplateItem * ? 
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我需要对代码进行哪些修改才能使代码正确且隐式地解析为std :: string转换函数?特别是给定const TemplateItem*将被视为以null结尾的数组(它不太可能).

c++ templates class

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