小编Pao*_*olo的帖子

Django创建自定义UserCreationForm

我在Django中启用了用户auth模块,但是当我使用时,UserCreationForm他只询问用户名和两个密码/密码确认字段.我还想要电子邮件和全名字段,并设置为必填字段.

我这样做了:

from django.contrib.auth.forms import UserCreationForm
from django import forms
from django.contrib.auth.models import User

class RegisterForm(UserCreationForm):
    email = forms.EmailField(label = "Email")
    fullname = forms.CharField(label = "Full name")

    class Meta:
        model = User
        fields = ("username", "fullname", "email", )
Run Code Online (Sandbox Code Playgroud)

现在表单显示新字段但不保存在数据库中.

我该怎么办?

python django django-authentication

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

document.getElementsByClassName().innerHTML总是返回"undefined"

我一定是在某个地方犯了一个错误所以document.getElementsByClassName().innerHTML总是返回undefined.

首先我生成<li>通过javascript:

$('#list').append('<li class="box"><img class="picture" src="images/HotPromo/tagPhoto1.png"/><p class="name"><b>Name</b></p><p class="address">Address</p><p class="hidden"></p></li>');
Run Code Online (Sandbox Code Playgroud)

请注意,在最右边我有一个类的<p>元素hidden.我使用它来获取我不想向我的用户显示的id.

这是生成以下数据的jQuery <li>:

$(".box").each(function () {
    var name, address, picture, id = "";
    if (i < result.length) {
        name = result[i].name;
        address = result[i].address;
        picture = result[i].boxpicture;
        id = result[i].mallid;
    }

    $(this).find(".name").html(name);
    $(this).find(".address").html(address);
    $(this).find(".picture").attr("src", picture);
    $(this).find(".hidden").html(id);
    i++;
});
Run Code Online (Sandbox Code Playgroud)

我试图检查数据,它的工作正常.

现在,假设我想在用户点击上面生成的其中一个时提醒隐藏的ID :<p><li class="box">

$(".box").click(function () {
    alert(document.getElementsByClassName('hidden').innerHTML);
});
Run Code Online (Sandbox Code Playgroud)

然而,这个警报总是返回" unifined ".

html javascript jquery

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

C++字符串 - 如何避免获取无效指针?

在我们的C++代码中,我们有自己的字符串类(出于遗留原因).它支持一种c_str()类似的方法std::string.我注意到很多开发人员都错误地使用它.我已将问题减少到以下行:

 const char* x = std::string("abc").c_str();
Run Code Online (Sandbox Code Playgroud)

这个看似无辜的代码非常危险,因为析构函数std::string会在调用之后立即被调用c_str().因此,您将持有指向取消分配的内存位置的指针.

这是另一个例子:

  std::string x("abc");
  const char* y = x.substr(0,1).c_str();
Run Code Online (Sandbox Code Playgroud)

在这里,我们使用指向解除分配位置的指针.

这些问题在测试期间不容易找到,因为内存位置仍包含有效数据(尽管内存位置本身无效).

我想知道你是否有任何关于如何修改类/方法定义的建议,以便开发人员永远不会犯这样的错误.

c++ stl

17
推荐指数
4
解决办法
1658
查看次数

选择日期字段在给定月份和年份中的行

我的SQL表看起来像这样:

id (int) | date (date) | text1 (varchar) | text2 (varchar)
Run Code Online (Sandbox Code Playgroud)

我想选择其日期适合给定月份和年份的行,而不管当天.月份和年份都在select语句中以整数形式给出.所以缺少的是where子句.也许extract()是我正在寻找的东西,但我不知道如何使用它与两个整数,例如201102.

postgresql date

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

禁用/启用提交按钮,直到填写完所有表格

我希望我的表单提交按钮被禁用/启用,具体取决于表单是否完全填满.

填充输入后,禁用按钮将更改为启用.这很好用.但我希望它在输入被清除时禁用按钮.

这是我的脚本:

<script type="text/javascript" language="javascript">
    function checkform()
    {
        var f = document.forms["theform"].elements;
        var cansubmit = true;

        for (var i = 0; i < f.length; i++) {
            if (f[i].value.length == 0) cansubmit = false;
        }

        if (cansubmit) {
            document.getElementById('submitbutton').disabled = false;
        }
    }
</script> 
<form name="theform">
<input type="text" onKeyup="checkform()" />
<input type="text" onKeyup="checkform()" />
<input id="submitbutton" type="submit" disabled="disabled" value="Submit" />
</form>
Run Code Online (Sandbox Code Playgroud)

javascript forms submit disabled-control

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

是否可以在不改变其功能的情况下禁用onclick?

我知道在元素上禁用onclick事件的方式是:

element.onclick = null;
Run Code Online (Sandbox Code Playgroud)

启用:

element.onclick = function(){
   // something
};
Run Code Online (Sandbox Code Playgroud)

要么

element.addEventListener("click", me);
Run Code Online (Sandbox Code Playgroud)

这很好但是当你有几个元素 - 每个元素具有不同参数值的相同功能 - 使用这种方式会变得有点烦人.有没有办法可以在不牺牲初始函数及其参数的情况下禁用它?

我希望保持函数的方式,而不必将其设置为null或其他东西,以便禁用.

javascript onclick javascript-events

16
推荐指数
2
解决办法
2589
查看次数

使用localStorage存储数据有多安全?

我的应用需要登录,而且我有Remember username and password能力.然后存储用户名和密码

localStorage.setItem('username',username);

这种存储用户名和密码的方式有多安全?我特别在Android上担心的是,如果其他应用程序可以访问数据并且可以获取登录信息.

该应用程序适用于iOs和Android,我正在使用PhoneGap 2.9.

security local-storage cordova

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

为什么Django会为代理模型创建迁移文件?

我刚刚创建了一个代理模型,并且惊讶于manage.py makemigrations创建了一个带有migrations.CreateModel操作的新迁移文件.

代理模型不会创建新的数据库表,它只是同一数据集的不同python接口,并且实际上不manage.py sqlmigrate my_app_label 0042返回任何内容.

我认为它可能用于创建代理模型,ContentType但如果它们不存在则按需创建.

它是否用于触发代理模型权限的创建?代理模型权限有一个6岁的开放式bug,所以我不确定这个部分应该如何工作...

它用来Django 1.8测试这个.

编辑:澄清一下,Django创建一个对新代理模型没有任何作用的迁移,所以Django如果它没有用,我们不想在第一时间创建迁移吗?

是否存在迁移有用的用例?

python django proxy-classes django-migrations

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

PyInstaller,spec文件,ImportError:没有名为'blah'的模块

我试图通过PyInstaller构建一个python脚本.我使用以下命令来配置,生成spec文件和构建:

wget pyinstaller.zip, extracted it, python Configure.py, etc, then:

python pyinstaller/Makespec.py --onefile myscript.py
python pyinstaller/Build.py myscript.spec 
Run Code Online (Sandbox Code Playgroud)

这是它生成的spec文件:

# -*- mode: python -*-
a = Analysis([os.path.join(HOMEPATH,'support/_mountzlib.py'), os.path.join(HOMEPATH,'support/useUnicode.py'), 'icinga.py'],
             pathex=['/home/user/projects/icinga_python/releases/v2.1'])
pyz = PYZ(a.pure)
exe = EXE( pyz,
          a.scripts,
          a.binaries,
          a.zipfiles,
          a.datas,
          name=os.path.join('dist', 'myscript'),
          debug=False,
          strip=False,
          upx=True,
          console=1 )
Run Code Online (Sandbox Code Playgroud)

这在dist/目录中构建了一个可执行文件.尝试运行此文件时,我得到以下内容:

Traceback (most recent call last):
  File "<string>", line 12, in <module>
  File "/home/user/projects/myscript/releases/v2.1/pyinstaller/iu.py", line 455, in importHook
    raise ImportError, "No module named %s" % fqname
ImportError: No module named …
Run Code Online (Sandbox Code Playgroud)

python mysql pyinstaller importerror

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

如何切换组列表中突出显示的选定项目

我在使用Bootstrap中有这个:

    <ul class="list-group">
        <li  class="list-group-item active">Cras justo odio</li>
        <li class="list-group-item">Dapibus ac facilisis in</li>
        <li class="list-group-item">Morbi leo risus</li>
        <li class="list-group-item">Porta ac consectetur ac</li>
        <li class="list-group-item">Vestibulum at eros</li>
        <li class="list-group-item">Cras justo odio</li>
        <li class="list-group-item">Dapibus ac facilisis in</li>
        <li class="list-group-item">Morbi leo risus</li>
        <li class="list-group-item">Porta ac consectetur ac</li>
        <li class="list-group-item">Vestibulum at eros</li>
    </ul>
Run Code Online (Sandbox Code Playgroud)

顶行被选中.

我只想向用户1选择的行显示.

当用户通过使用Javascript向Click-Event添加函数来点击一行时,我可以引发一个事件.

然后我可以将该行设置为活动状态.但会发生的是需要取消选择上一个选定的行.

可以接受的方法是什么?

如何枚举和访问每一行以更改其类设置?

有没有更好的CSS方式来做到这一点?

附加所有这些方法都有效(感谢所有人)但是如果我的页面上有多个选项组,我怎样才能明确删除我正在使用的那个上的活动突出显示的行?

javascript html5 twitter-bootstrap

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