小编pho*_*nix的帖子

在Django表单中,如何将字段只读(或禁用)以使其无法编辑?

在Django表单中,如何将字段设置为只读(或禁用)?

当表单用于创建新条目时,应启用所有字段 - 但是当记录处于更新模式时,某些字段必须是只读的.

例如,在创建新Item模型时,所有字段都必须是可编辑的,但在更新记录时,有没有办法禁用该sku字段以使其可见,但无法编辑?

class Item(models.Model):
    sku = models.CharField(max_length=50)
    description = models.CharField(max_length=200)
    added_by = models.ForeignKey(User)


class ItemForm(ModelForm):
    class Meta:
        model = Item
        exclude = ('added_by')

def new_item_view(request):
    if request.method == 'POST':
        form = ItemForm(request.POST)
        # Validate and save
    else:
            form = ItemForm()
    # Render the view
Run Code Online (Sandbox Code Playgroud)

班级ItemForm可以重复使用吗?ItemForm或者Item模型类需要进行哪些更改?我是否需要编写另一个类" ItemUpdateForm"来更新项目?

def update_item_view(request):
    if request.method == 'POST':
        form = ItemUpdateForm(request.POST)
        # Validate and save
    else:
        form = ItemUpdateForm()
Run Code Online (Sandbox Code Playgroud)

forms django field readonly

403
推荐指数
17
解决办法
25万
查看次数

如何在没有循环的情况下将数组的内容复制到C++中的std :: vector?

我有一个值数组,从程序的不同部分传递给我的函数,我需要存储以供以后处理.因为我不知道有多少次之前,它是时间来处理数据我函数将被调用做什么,我需要一个动态的存储结构,所以我选择了一个std::vector.我不想push_back单独对所有值进行标准循环,如果我可以使用类似的东西复制它,那将是很好的memcpy.

c++ stl copy vector

107
推荐指数
6
解决办法
16万
查看次数

在Django QuerySet上计算vs len

在Django中,假设我有一个QuerySet,我将迭代并打印结果,那么计算对象的最佳选择是什么?len(qs)或qs.count()?

(还假设在同一次迭代中计算对象不是一个选项)

python django performance

76
推荐指数
4
解决办法
5万
查看次数

链接静态C库和C++代码时出现"未定义的引用"错误

我有一个测试文件(仅用于链接测试),其中我使用我自己的/ 库调用来重载new/ delete运算符.但是在链接静态库时,我一直得到"未定义的引用"错误,即使我改变了和的顺序.但是一切都适用于连接这个库的其他C程序.我对这个问题很困惑,并且感谢任何线索.mallocfreelibxmalloc.atest.o-lxmalloc

错误消息:

g++ -m64 -O3 -I/usr/include/ethos -I/usr/include/nacl/x86_64 -c -o test.o test.cpp
g++ -m64 -O3 -L. -o demo test.o -lxmalloc
test.o: In function `operator new(unsigned long)':
test.cpp:(.text+0x1): undefined reference to `malloc(unsigned long)'
test.o: In function `operator delete(void*)':
test.cpp:(.text+0x11): undefined reference to `free(void*)'
test.o: In function `operator new[](unsigned long)':
test.cpp:(.text+0x21): undefined reference to `malloc(unsigned long)'
test.o: In function `operator delete[](void*)':
test.cpp:(.text+0x31): undefined reference to `free(void*)'
test.o: In function `main':
test.cpp:(.text.startup+0xc): undefined reference …
Run Code Online (Sandbox Code Playgroud)

c c++ static-libraries

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

从python中找出文件的绝对路径

如果我有一个test.py驻留在某个目录中的文件,我怎样才能找到test.py它所在的目录?os.path.curdir将提供当前目录,但不提供文件所在的目录.如果我test.py从某个目录调用foo,os.curdir将返回foo但不返回路径test.py.

谢谢.

python filesystems io

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

Python套接字绑定到任何IP?

我有一个小的单面消息发送器,当我在代码中指定要连接的IP时工作,但是,我无法允许套接字接受来自任何IP的连接.这是问题的界限.

mySocket = socket.socket ( socket.AF_INET, socket.SOCK_STREAM )
mySocket.bind ( ( '', 2727 ) )
Run Code Online (Sandbox Code Playgroud)

''是本地主机,和它的作品,如果我手动输入IP,例如'192.168.1.106',但是,我怎么能离开它向所有人开放?或者我使用错误的连接类型?

python sockets

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

constexpr真的需要吗?

我一直在constexpr研究C++ 的新功能,但我并不完全理解它的必要性.

例如,以下代码:

constexpr int MaxSize()
{
    ...

    return ...;
}

void foo()
{
    int vec[MaxSize()];
}
Run Code Online (Sandbox Code Playgroud)

可以替换为:

int MaxSize()
{
    ...

    return ...;
}

static const int s_maxSize = MaxSize();

foo()
{
    int vec[s_maxSize];
}
Run Code Online (Sandbox Code Playgroud)

更新

第二个例子实际上不是标准的ISO C++(感谢几个用户指出这一点),但某些编译器(例如gcc)支持它.因此,这不是const使程序有效,而是gcc支持这种非标准功能的事实.(据我所知,只有当数组被定义为函数或方法的本地数据时才有可能,因为在编译时必须知道全局数组的大小.)如果我编译没有选项-std=c++98 -pedantic-errors,甚至代码

int MaxSize()
{
    return 10;
}

void foo()
{
    int vec[MaxSize()];
}
Run Code Online (Sandbox Code Playgroud)

将使用gcc编译.

因此,考虑到目前为止的反馈(以及我在同一时间进行的一些进一步阅读),我将尝试重新解释我的问题.

const大量使用关键字.随着const我可以定义有其整个生命周期内某一特定值的常数.可以使用任何表达式初始化常量,该表达式被计算一次,即创建常量时.对于这些情况,我认为这constexpr是非常无用的:它将引入一个非常小的优化,因为定义常量值的表达式将在编译时而不是运行时计算.每次我需要一个复杂初始化的运行时常量时我都会使用关键字const.

因此constexpr,在我们需要在编译时初始化常量的情况下,可能会派上用场.一个示例是矢量定义:标准不支持在运行时定义大小.另一个示例是具有一个或多个非类型参数的模板.

在这种情况下,我通常使用宏:

#define MAX_SIZE (10)

void foo()
{
    int …
Run Code Online (Sandbox Code Playgroud)

c++ constexpr c++11

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

Django:从manage.py runserver命令覆盖Debug = True

有没有一种简单的方法可以告诉Django runserver覆盖settings.py文件中的单个变量?

我很乐意打电话给:

python manage.py runserver 0.0.0.0:8000 Debug=False
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

动机:有一个特定的站点,有数百个数据库查询来显示或保存特定的页面,我希望能够快速关闭调试,而无需编辑我的设置文件(有可能被遗忘).

django

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

使用c ++ typedef/using类型别名

我正在阅读C++入门书,完全不理解一行:

 using int_array = int[4]; 
 typedef int int_array[4]; // This line
 for (int_array *p = ia; p != ia + 3; ++p) {
      for (int *q = *p; q != *p + 4; ++q)
          cout << *q << ' '; cout << endl;
 }
Run Code Online (Sandbox Code Playgroud)

好的typedef是一样的using.这是否意味着int[4][4]现在int以及如何理解这一点?什么类型int_arrayfor循环?

谢谢

c++ typedef c++11

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

如何使用windows/cygwin从CMakeLists.txt中切换Clion中的GCC和Clang

我放

 set(CMAKE_CXX_COMPILER           "/usr/bin/clang.exe")
Run Code Online (Sandbox Code Playgroud)

运行/清洁,运行/构建.

我收到链接错误,如:

undefined reference to `std::ios_base::Init::~Init()'
: undefined reference to `__gxx_personality_v0'
Run Code Online (Sandbox Code Playgroud)

据推测,还有其他变量需要改变.尝试添加-lstdc++CMAKE_CXX_FLAGS,但没有什么不同.

例如,是否存在CLion方式而不是CMake方式?

谢谢.

c++ gcc clang clion

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