小编Fer*_*her的帖子

Django - 使用多种形式

我想要做的是在一个页面中管理多个表单,我知道有表单集,我知道表单管理是如何工作的,但是我遇到了一些问题.

只是为了帮助你想象我的问题是什么我将使用django示例模型:

from django.db import models

class Poll(models.Model):
    question = models.CharField(max_length=200)
    pub_date = models.DateTimeField()

class Choice(models.Model):
    poll = models.ForeignKey(Poll)
    choice = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)
Run Code Online (Sandbox Code Playgroud)

现在,想象一下我已经制作了表格条款:

from django import forms
from mysite.polls.models import Poll, Choice

class PollForm(forms.ModelForm):
    class Meta:
        model = Poll

class ChoiceForm(forms.ModelForm):
    class Meta:
        model = Choice
        exclude = ('poll',) 
Run Code Online (Sandbox Code Playgroud)

所以我想要做的是在一个页面中有几个Poll和Choice模型的表单实例,但是请注意这些模型也可以重复:

<form action="{{url}}" method="post">
    {{pollform}}
    {{choiceform}}
    {{pollform}}
</form>
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,有两个Poll表单和一个Choice表单,但Poll表单由Choice表单分隔.我确实需要表单在页面中保持顺序,因此使用表单集要困难一些.

我得到的问题是,帖子中的值都是名称"answer",所以我得到了所有表单中所有元素的列表,名称为"answer",我无法确定哪些属于每种形式.

不知道这个解释是否能清楚地看到我的问题.有什么想法让这些东西完成吗?

谢谢你的帮助!

PD:不要关注Poll和Choice之间的关系,这些模型只是为了澄清问题,所以这种关系根本不重要.

python forms django django-forms

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

如何检测电子邮件是否为Google帐户?

我和这里的一些人正在努力创业.我们目前正在使用Google OpenID API管理注册和登录我们的应用,但我们希望迁移到更简单的用户注册模式.为此,我们需要知道是否有一种方法可以检测到电子邮件(不是gmail)是否已经是Google帐户.有没有办法从Google Single Sign-on API获取此信息?

以前感谢您的帮助!:)

openid api google-account single-sign-on

7
推荐指数
4
解决办法
7678
查看次数

_sha导入python hashlib

好吧,今天我在python中检查hashlib模块,但后来我找到了一些我仍然无法弄清楚的东西.

在这个python模块中,有一个我无法遵循的导入.我是这样的:

def __get_builtin_constructor(name):
    if name in ('SHA1', 'sha1'):
        import _sha
        return _sha.new
Run Code Online (Sandbox Code Playgroud)

我试图从python shell导入_sha模块,但似乎无法通过那种方式进行.我首先猜测它是一个C模块,但我不确定.

那么告诉我们,你知道那个模块在哪里吗?他们如何进口?

python hashlib

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

Python类中的传递值赋值

我不认为它可以轻松完成,但事情就是这样:

假设你有一个像这样的简单类:

class Demo:
    a = 'to update'
    b = a
Run Code Online (Sandbox Code Playgroud)

如您所见,我希望变量'b'是变量'a'的另一个名称.所以,我想做的是这样的事情:

>>> demo = Demo()
>>> demo.a
'to update'
>>> demo.b
'to update'
>>> demo.b = 'updated'
>>> demo.b
'updated'
>>> demo.a
'updated'
Run Code Online (Sandbox Code Playgroud)

所以,这是我想要实现的一个例子.我想要做的是在为变量'b'设置值时将值设置为变量'a'.我的第一个猜测是将两个变量设置为具有对实际值的引用,因此它们指向相同的元素.

有什么猜测?以前感谢任何一个回答!

PD:值必须是字符串.

python variables

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