从3到2.7的后移:ImportError:无法导入名称

时间:2015-09-01 12:59:23

标签: python django python-2.7 python-3.x backport

在阅读this并且哭了很多之后,我试图让我的Django应用程序与Python 2.7一起使用。

这是我的Django网站目录:

viewPager.setCurrentItem(1);
    viewPager.postDelayed(new Runnable() {
        @Override
        public void run() {
            viewPager.setCurrentItem(0);
        }
    },100);

最值得注意的是,我已经尝试添加所有我的"外部"将模块放入文件夹├── locale │   ├── en │   ├── fr │   └── sv ├── produits │   ├── migrations │   └── templatetags ├── pyweb ├── templates │   └── produits ├── third_party │   ├── authomatic_0_1_0 │   ├── defusedxml-0.4.1 │   ├── google_appengine_1_9_25 │   ├── python-openid_2_2_5 │   └── python3-openid └── uploads

在我的third_party中,以下代码正在运行:

views.py

它正在运行 因为我在from third_party.authomatic_0_1_0 import authomatic from third_party.authomatic_0_1_0.authomatic import adapters from third_party.authomatic_0_1_0.authomatic.providers import oauth1, oauth2 开头添加了这些

settings.py

但是现在,使用python 2.7它不再起作用了。我该怎么做才能让它发挥作用? Python中的一个好习惯是什么(因为Pycharm不能识别BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.append(BASE_DIR+'/third_party/defusedxml-0.4.1') sys.path.append(BASE_DIR+'/third_party/python3-openid') sys.path.append(BASE_DIR+'/third_party/google_appengine_1_9_25') sys.path.append(BASE_DIR+'/third_party/authomatic_0_1_0') 的所有子文件夹)?

1 个答案:

答案 0 :(得分:0)

两个问题:(1)编码,所以我在一开始就添加了所有文件:

# coding=UTF-8

(2)装饰者python_2_unicode_compatible:我的所有模型都需要这个__str__,例如:

@python_2_unicode_compatible
class Texte(models.Model):
    texte = models.CharField(max_length=200)

    def __str__(self):
        return self.texte

有关详细信息,请参阅here