小编Zam*_*tta的帖子

Django数据库设置"配置不正确"错误

Django的(1.5)是干活的对我很好,但是当我火了Python解释器(Python 3中),检查一些东西,我得到当我尝试导入最奇怪的错误- from django.contrib.auth.models import User-

Traceback (most recent call last):
  File "/usr/local/lib/python3.2/dist-packages/django/conf/__init__.py", line 36, in _setup
    settings_module = os.environ[ENVIRONMENT_VARIABLE]
  File "/usr/lib/python3.2/os.py", line 450, in __getitem__
    value = self._data[self.encodekey(key)]
KeyError: b'DJANGO_SETTINGS_MODULE'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.2/dist-packages/django/contrib/auth/models.py", line 8, in <module>
    from django.db import models
  File "/usr/local/lib/python3.2/dist-packages/django/db/__init__.py", line 11, in <module>
    if settings.DATABASES and DEFAULT_DB_ALIAS not in settings.DATABASES:
  File "/usr/local/lib/python3.2/dist-packages/django/conf/__init__.py", line 52, in …
Run Code Online (Sandbox Code Playgroud)

python django

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

如何检查**kwargs中的密钥是否存在?

Python 3.2.3.这里列出了一些有关常规变量的想法,但似乎**kwargs按照不同的规则进行播放...所以为什么这不起作用?如何查看**kwargs中的密钥是否存在?

if kwargs['errormessage']:
    print("It exists")
Run Code Online (Sandbox Code Playgroud)

我也认为这应该有效,但事实并非如此 -

if errormessage in kwargs:
    print("yeah it's here")
Run Code Online (Sandbox Code Playgroud)

我猜是因为kwargs是可迭代的?我是否必须遍历它才能检查特定键是否存在?

python dictionary kwargs python-3.x

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

Django管理员不哈希自定义用户密码

  • Python 3
  • Django 1.5
  • PostgreSQL 5.0.3

我是Django的新手,我正在制作一个使用AbstractUser的Django应用程序,但是当我在Django管理员中创建用户,然后在管理员中查看用户的信息时,我会以纯文本形式看到密码.直接在DB中检查,我看到密码肯定是以明文形式存储的.

我正在尝试编写一些视图来进行一些身份验证,但即使用户名和密码正确也无法正常工作.所以我猜这个authenticate()函数是哈希但是返回,None因为密码实际上没有哈希.

是否有任何可能的原因导致密码没有被哈希?

我发布了一些代码,但我不认为任何代码会有所帮助,因为我的模型不包含任何与密码字段有关的代码(由Django生成和完成).如果我正在做或不做什么,我甚至不知道它的代码部分是什么,所以我必须从我的设置,模型,管理员等发布所有内容.

django python-3.x

18
推荐指数
3
解决办法
7753
查看次数

Django 1.5:UserCreationForm和Custom Auth Model

我正在使用Django 1.5和Python 3.2.3.

我有一个自定义的Auth设置,它使用电子邮件地址而不是用户名.有没有用户名在模型中定义的.这很好.然而,当我构建用户创建表单时,无论如何它都会添加用户名字段.所以我尝试确切地定义了我想要显示哪些字段,但它仍然在表单中强制使用用户名字段.... 即使它甚至不存在于自定义身份验证模型中.我怎么能让它停止这样做?

我的表格定义如下:

class UserCreateForm(UserCreationForm):

    class Meta:
        model = MyUsr
        fields = ('email','fname','surname','password1','password2',
                  'activation_code','is_active')
Run Code Online (Sandbox Code Playgroud)

在文档中,Custom Users和Builtin Forms表示"必须为任何自定义用户模型重写".而我认为这就是我在这里所做的.尽管如此,这个和UserCreationForm文档都没有更多地说明这一点.所以我不知道我错过了什么.我也没有通过谷歌找到任何东西.

django django-models django-forms python-3.x

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

Pip3安装模块在哪里?

  • Ubuntu 15.10
  • Python 3.4.3+
  • Django 1.8.7

当我尝试import django使用python3解释器时,它说ImportError: No module named 'django'.我知道安装了Django 1.8.7,因为我可以django-admin --version在终端命令行中获取版本#.

当我python3 manage.py runserver在Django项目目录中尝试时,我收到此错误:

Traceback (most recent call last):
  File "manage.py", line 8, in <module>
    from django.core.management import execute_from_command_line
ImportError: No module named 'django'
Run Code Online (Sandbox Code Playgroud)

再次(如预期的那样),它不在Python可以找到它的路径中.

我查了一下,/usr/local/lib/python3.4/dist-packages但这是一个空目录.

我做了一个whereis django&whereis Django,它简单地给了我一行 django:Django:分别没有路径列表.

我尝试使用谷歌搜索如何找到Django的路径,但这并没有发现任何有用的东西.

我发现并检查了django-admin文件本身的代码,但它没有任何指示Django安装到哪里的东西.奇怪的是,python文件导入了django模块并且它工作正常,即使解释器和Django项目文件无法看到django模块.所以它在python路径上,但它也不是?!?我不知道,我找不到它.

我从来没有像以前的Ubuntu(或任何其他操作系统)那样的问题.有谁知道我怎么能找到Django安装的地方?实际上,我找不到通过pip3安装的任何模块.我一直试图弄清楚这一点超过一个小时了,我很困惑和沮丧.

python django ubuntu pip ubuntu-15.10

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

Django WSGI Apache VirtualHost,返回404错误

  • Ubuntu 12.04
  • Apache 2.2.2
  • Python 3.2.3
  • Django 1.6.1

我按照使用mod_wsgi在Ubuntu 12.04上应用程序提供服务的指示,为Apache上的Django设置WSGI.问题是,VirtualHost域现在返回一个令人困惑的奇怪的404错误:

[Mon Dec 16 19:53:49 2013] [error] [client 127.0.0.1] File does not exist: /etc/apache2/htdocs
Run Code Online (Sandbox Code Playgroud)

这令人困惑,因为...该目录甚至不存在.VirtualHost在/ var/www/main中设置,其中/ var/apache2/sites-available/default中的配置如下所示:

<VirtualHost *:80>
        ServerName 127.0.0.1
        ServerAlias coral
        WSGIScriptAlias / /home/dfy/code/djdev/djdev/wsgi.py
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

我在编辑后重新加载了Apache.当我启动项目时,那个wsgi文件是Django生成的文件.我根据教程修改了它以匹配所需的内容:

import os
import sys # added from tutorial
sys.path.append('/home/dfy/code/djdev/djdev/') # added from tutorial
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "djdev.settings")

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
Run Code Online (Sandbox Code Playgroud)

对我来说,这一切看起来应该可行,但Apache正在查找不存在的目录中的静态文件(/ etc/apache2/htdocs).我一直在谷歌搜索几个小时试图弄清楚这里有什么问题,但还没有找到答案.我一时兴起chmod 777 wsgi.py,但没有改变任何东西,所以我确定这不是权限问题.我真的不知道出了什么问题.

python apache django ubuntu

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

奇怪的额外循环

我对Python仍然有点新鲜,但是,我现在感觉真的很愚蠢因为我只花了一个小时试图弄清楚为什么这个for循环没有做我想要的.我不应该在for循环上花一个小时.无论如何,我正在尝试生成一个字典列表,并给每个字典一个唯一的编号,所以我这样做...

def initiate(n):
    records = {'num':0,'blah':0,'doubleblah':0}
    x = []
    for i in range(n):
        x.append(records)
        x[i]['num'] = i
    return x

x = initiate(4)
print(x)
Run Code Online (Sandbox Code Playgroud)

我希望函数能够返回 -

[
 {'num': 0, 'doubleblah': 0, 'blah': 0}, 
 {'num': 1, 'doubleblah': 0, 'blah': 0}, 
 {'num': 2, 'doubleblah': 0, 'blah': 0}, 
 {'num': 3, 'doubleblah': 0, 'blah': 0}
]
Run Code Online (Sandbox Code Playgroud)

但它实际上归还了这个 -

[
 {'num': 3, 'doubleblah': 0, 'blah': 0}, 
 {'num': 3, 'doubleblah': 0, 'blah': 0}, 
 {'num': 3, 'doubleblah': 0, 'blah': 0}, 
 {'num': 3, 'doubleblah': 0, 'blah': 0} …
Run Code Online (Sandbox Code Playgroud)

python python-3.x

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

AttributeError:'Manager'对象没有属性'get_by_natural_key'

我在Python 3.2.3上使用Django 1.5.

当我运行时python3 manage.py syncdb,它构建数据库表,并询问我的电子邮件(定义为唯一而不是用户名),然后当我输入时,我收到此错误 -

AttributeError: 'Manager' object has no attribute 'get_by_natural_key'

奇怪的是,无论如何它创造了桌子,但是现在,我很困惑,因为我真的没有得到我应该做的.文档说我应该创建一个自定义用户管理器,但这就是它真正说的.它没有给我一个线索在哪里创建它或如何.我查看了Managers上文档,但这真的没有帮助我解决任何问题.这太模糊了.我一直在谷歌搜索试图找到一些关于我需要做什么的线索,但我只是疯了越来越多的问题,而不是任何答案.这是我的models.py文件:

from django.db import models
from django.contrib.auth.models import AbstractBaseUser

class MyUsr(AbstractBaseUser):
    email = models.EmailField(unique=True,db_index=True)
    fname = models.CharField(max_length=255,blank=True, null=True)
    surname = models.CharField(max_length=255,blank=True, null=True)
    pwd_try_count = models.PositiveSmallIntegerField(blank=True, null=True)
    pwd_last_try = models.DateTimeField(blank=True, null=True)
    resetid = models.CharField(max_length=100,blank=True, null=True)
    last_reset = models.DateTimeField(blank=True, null=True)
    activation_code = models.CharField(max_length=100,blank=True, null=True)
    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = ['fname','activation_code']
Run Code Online (Sandbox Code Playgroud)

如何编写自定义用户管理器?我把它作为一种方法放在MyUsr模型中吗?或者甚至是我应该做的?我应该做一些完全不同的事吗?我现在还不确定.我只是不明白.关于这一点的文件对我来说似乎并不清楚,为解释留下了很多空间.我是Django的新手,但我已经使用了几个月的Python.

django django-models

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

Django Group By Weekday?

我正在使用Django 1.5.1,Python 3.3.x,并且无法为此使用原始查询。

对于使用日期__range过滤器的QuerySet,是否有办法将工作日按星期分组?我正在尝试按工作日对结果进行分组,以查询介于任意两个日期之间的查询(可能相隔一年之久)。我知道如何获取与工作日匹配的行,但这将需要用7个查询对数据库进行重击,以找出每个工作日的数据。

我一直在尝试通过对__week_day滤镜进行不同的调整来弄清楚这一点,但是没有任何效果。甚至Googling也无济于事,这让我想知道这是否有可能。如果可能的话,这里的任何Django专家都知道如何做?

python django python-3.x django-1.5

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