小编aem*_*mdy的帖子

Django:无法导入名称formset_factory

我无法从django导入formset_factory.

这是追溯:

from django.forms import formset_factory


Environment:


Request Method: GET
Request URL: http://localhost:8000/forma/

Django Version: 1.4.1
Python Version: 2.7.3
Installed Applications:
['debug_toolbar',
 'django_extensions',
 'gunicorn',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.sites',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'internal',
 'internal.customers',
 'internal.customers.natural',
 'internal.customers.entity',
 'internal.farmsteads',
 'internal.photos',
 'internal.offers',
 'internal.orders',
 'internal.places',
 'internal.statuses',
 'internal.extra_information',
 'internal.properties',
 'internal.calendar',
 'internal.newsletters',
 'aemdyutils',
 'tinymce']
Installed Middleware:
('debug_toolbar.middleware.DebugToolbarMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware')


Traceback:
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
  101.                             request.path_info)
File "/usr/local/lib/python2.7/dist-packages/django/core/urlresolvers.py" in resolve
  300.                     sub_match = pattern.resolve(new_path)
File "/usr/local/lib/python2.7/dist-packages/django/core/urlresolvers.py" in resolve
  209.             return ResolverMatch(self.callback, args, kwargs, self.name) …
Run Code Online (Sandbox Code Playgroud)

python django python-import pycharm

4
推荐指数
1
解决办法
1575
查看次数

使用Django ORM"SELECT field as x ..."

是否可以在Django ORM中使用AS sql语句:

SELECT my_field AS something_shiny WHERE my_condition = 1

如果有可能那么如何?

django orm

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

Django查询集排除了多个对象

我们假设我们有一个模型:

 class a(models.Model):
     users = models.ManyToManyField(User) # django.contrib.auth.models.User
Run Code Online (Sandbox Code Playgroud)

和这些变量:

user = request.user
queryset = a.objects.all()
Run Code Online (Sandbox Code Playgroud)

然后我想从包含用户用户的模型中排除这些记录.我怎样才能做到这一点?

queryset.exclude(...)
Run Code Online (Sandbox Code Playgroud)

django django-queryset models

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

Smarty 模板中的变量自动转义

我最近发现 Smarty 与 Django 模板引擎不同,它不会自动转义变量,我需要将 |escape 放在模板中的大多数变量旁边。

按照文档,http://www.smarty.net/docsv2/en/variable.default.modifiers.tpl我需要设置默认修饰符,不是吗?

所以,这是我的代码:

$smarty = new Smarty();
$smarty->default_modifiers = array('escape:"htmlall"');
Run Code Online (Sandbox Code Playgroud)

...并且变量仍然不会转义,直到我在它们旁边添加 |escape 。

我究竟做错了什么?

smarty

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

django 内容类型和字符串比较

我有一个包含 ContentType 字段的模型。

在任何模型方法中,我都可以将其与字符串进行比较:

self.content_type == "construction" # True if ContentObject points to Construction model.
Run Code Online (Sandbox Code Playgroud)

但是,这样的事情似乎在模板中不起作用。

我尝试的第一件事

{% if object.content_type == "construction" %}
Run Code Online (Sandbox Code Playgroud)

第二:

def __unicode__(self): 
    return str(self.content_type)
`{% if object == "construction" %}`
Run Code Online (Sandbox Code Playgroud)

它是错误的,但是 {{ object }} 打印construction.

django content-type django-templates

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

使用Django中的update方法切换布尔字段的值

我有一个模型实例,上面有一个布尔字段.我想要实现的是将值从True切换为False,反之亦然.

当然,我可以写:

inst = Model.objects.get(id=1)
inst.boolean_field = not inst.boolean_field
inst.save()
Run Code Online (Sandbox Code Playgroud)

但是有2个查询:一个用于获取,另一个用于更新.

我只想切换值,但以下似乎不起作用:

Model.objects.filter(id=1).update(boolean_field=not F("boolean_field"))
Run Code Online (Sandbox Code Playgroud)

我很确定我做错了什么,或者说这是不可能的.

django models

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

当正文中有unicode字符时,使用python解析Gmail电子邮件

我写了一个脚本来解析一封电子邮件.从Mac OS X Mail客户端接收信件时它工作正常(到目前为止只测试了这个),但是当字母在其正文部分中包含unicode字母时,我的解析器会失效.

例如,我发送了一条包含内容的消息???.

这是我的脚本部分同时解析正文和附件:

p = FeedParser()
p.feed(msg)
msg = p.close()
attachments = []
body = None
for part in msg.walk():
  if part.get_content_type().startswith('multipart/'):
    continue
  try:
    filename = part.get_filename()
  except:
    # unicode letters in filename, set default name then
    filename = 'Mail attachment'

  if part.get_content_type() == "text/plain" and not body:
    body = part.get_payload(decode=True)
  elif filename is not None:
    content_type = part.get_content_type()
    attachments.append(ContentFile(part.get_payload(decode=True), filename))

if body is None:
    body = ''
Run Code Online (Sandbox Code Playgroud)

好吧,我提到它适用于来自OS X Mail的信件,但是使用Gmail信件却没有.

追溯:

回溯(最近一次调用最后一次):文件"/Users/aemdy/virtualenvs/django1.5/lib/python2.7/site-packages/django/core/handlers/base.py",第116行,在get_response response = …

python email unicode

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

Django模型命名约定

关于Django中的模型命名约定,我有一个非常愚蠢的问题.

想象一个农场,有建筑物,有房间.

农庄 - >建筑物 - >房间

有了Farmstead,没关系,我们称之为Farmstead.下一个:Building或FarmsteadBuilding?BuildingRoom,Room还是FarmsteadBuildingRoom?

python django naming-conventions django-models

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

Django抽象模型与M2M领域

我们假设我有以下内容:

class Base(Model):
    m2m_1 = ManyToManyField("SomeModel1")
    m2m_2 = ManyToManyField("SomeModel2")

    class Meta:
        abstract = True

class A(Base):
    def __init__(self):
        super(A, self).__init__()
    pass

class B(Base):
    def __init__(self):
        super(B, self).__init__()
    pass
Run Code Online (Sandbox Code Playgroud)

但是,我不能这样做,因为它需要M2M字段的相关名称.但是,这并没有帮助,因为模型是抽象的,并且django尝试为A和B模型创建相同的相关名称.

任何想法如何分别指定每个模型的相关名称,甚至根本不使用它们?

django many-to-many

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

在Django中编辑另一个用户的会话

我怎样才能做到这一点

request.session['key'] = 'value'
Run Code Online (Sandbox Code Playgroud)

对于user_id为47的用户?

请记住,我目前没有使用该用户登录,我想在shell中执行此操作.

django session

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