kma*_*o23 3 python django ubuntu django-models python-2.7
我models.py如下,
from django.contrib.auth.models import User
from django.db import models
from django.utils.encoding import python_2_unicode_compatible
from django.utils.timezone import now
@python_2_unicode_compatible
class Tag(models.Model):
name = models.CharField(max_length=50, unique=True)
class Meta:
verbose_name = 'tag'
verbose_name_plural = 'tags'
ordering = ['name']
def __str__(self):
return self.name
............. and so on
Run Code Online (Sandbox Code Playgroud)
当我跑python manage.py syncdb这是我得到的错误:
itman@itman:~/djangoApp/mysite$ python manage.py syncdb
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", line 443, in execute_from_command_line
utility.execute()
File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", line 382, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", line 196, in run_from_argv
self.execute(*args, **options.__dict__)
File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", line 231, in execute
self.validate()
File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", line 266, in validate
num_errors = get_validation_errors(s, app)
File "/usr/lib/python2.7/dist-packages/django/core/management/validation.py", line 30, in get_validation_errors
for (app_name, error) in get_app_errors().items():
File "/usr/lib/python2.7/dist-packages/django/db/models/loading.py", line 158, in get_app_errors
self._populate()
File "/usr/lib/python2.7/dist-packages/django/db/models/loading.py", line 67, in _populate
self.load_app(app_name)
File "/usr/lib/python2.7/dist-packages/django/db/models/loading.py", line 88, in load_app
models = import_module('.models', app_name)
File "/usr/lib/python2.7/dist-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/home/itman/djangoApp/mysite/bmark/models.py", line 4, in <module>
from django.utils.encoding import python_2_unicode_compatible
ImportError: cannot import name python_2_unicode_compatible
Run Code Online (Sandbox Code Playgroud)
我不知道为什么模块没有导入.我正在使用Python 2.7和Django 1.4.
小智 27
对于最新的 Django 3.0.4 和 auditlog 试试
from six import python_2_unicode_compatible
Run Code Online (Sandbox Code Playgroud)
代替
from django.utils.six import python_2_unicode_compatible
Run Code Online (Sandbox Code Playgroud)
如果没有安装运行下面的代码
pip install six
Run Code Online (Sandbox Code Playgroud)
小智 12
尝试
from django.utils.six import python_2_unicode_compatible
Run Code Online (Sandbox Code Playgroud)
代替
from django.utils.encoding import python_2_unicode_compatible
Run Code Online (Sandbox Code Playgroud)
这在 Django 1.10.6 中对我很有效
当我将Django 版本 2.x 升级到 3.x时,我遇到了同样的问题。
这个问题是我由于auditlog图书馆而遇到的。
首先,执行以下命令
pip uninstall auditlog
Run Code Online (Sandbox Code Playgroud)
然后
pip install auditlog3
Run Code Online (Sandbox Code Playgroud)
python_2_unicode_compatible 功能仅在Django 1.5版本中添加.
https://docs.djangoproject.com/en/dev/ref/utils/#django.utils.encoding.python_2_unicode_compatible
当我想将 Django 用于 Graphite 时,我遇到了这个问题。结果我安装了 Django 1.3 并且我的 Graphite 版本在 Django > 1.5 时崩溃了,所以安装最新版本的 1.4 分支解决了这个问题:
sudo pip install --upgrade 'Django<1.5'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15918 次 |
| 最近记录: |