[django]from ...import和import的区别?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[django]from ...import和import的区别?相关的知识,希望对你有一定的参考价值。
django book的例子其中在urls.py中from django.conf.urls.defaults import *from mysite.views import current_datetime#用下面一行,django就会报错,说找不到current_datetime,但另外一本python的书提到尽量不使用from...import,二者的区别是什么呢?#import mysite.viewsurlpatterns = patterns('', (r'^time/$', current_datetime),)
1、from xxx import *会导入xxx.__all__中的所有元素2、from xxx import yyy将xxx.yyy导入到当前执行环境,可以直接使用yyy3、import xxx.yyy将xxx.yyy导入到当前环境,但不能直接使用yyy,必须使用xxx.yyy4、不建议使用from xxx import yyy是因为yyy被直接导入当前环境,可以直接使用yyy,可能其他模块也有yyy,会重名,导致因命名空间(包空间)混乱而出错5、特别不建议使用from xxx import * 参考技术A 多谢,sorry,没有先百度。from django.db import models 返回 No module named mywebsite.settings
【中文标题】from django.db import models 返回 No module named mywebsite.settings【英文标题】:from django.db import models returns No module named mywebsite.settings 【发布时间】:2014-09-08 12:21:34 【问题描述】:我已经非常努力地完成这项工作,但它不起作用。我已经在这里阅读了无数的答案,但它是徒劳的。
我安装了 Python 2.7 和 Django 1.6.5。我创建了一个virtualenv
,env,我也在其中创建了我的项目和应用程序。 Django 服务器 在安装 MySQL-python
并运行在 INSTALLED_APPS 中创建所有应用程序的 manage syncdb
后运行良好,但如果我尝试 from django.db import models
它会说:
ImportError: 无法导入设置“mywebsite.settings”(它在 sys.path 上吗?设置文件中是否存在导入错误?):没有名为 mywebsite.settings 的模块
我在系统变量的环境变量中创建了一个Path
。变量名为DJANGO_SETTINGS_MODULE
,其值为mywebsite.settings
。
我做错了什么?
【问题讨论】:
【参考方案1】:您可以从与您的 settings.py(即 mywebsite)相同的目录中运行 python manage.py runserver
,或者您应该导出 PYTHONPATH 以在 export PYTHONPATH=$PYTHONPATH:<path_to_mywebsite>
的路径中包含 mywebsite.settings(对于 unix 系统)
对于 windows 看看how to add to pythonpath in windows
【讨论】:
python manage.py runserver
没有任何问题。 Windows 7 相当于export PYTHONPATH=$PYTHONPATH:<path_to_mywebsite>
以上是关于[django]from ...import和import的区别?的主要内容,如果未能解决你的问题,请参考以下文章
from django.urls import path ImportError: cannot import name path
from django.conf.urls import *找不到patterns模块? Django-1.10,python27
from django.utils.importlib import import_module ImportError: No module named importlib
from django.db import models 返回 No module named mywebsite.settings
Django:djcelery Import error from celery import current_app as celery in virtualenv
Python from django.contrib.auth.views import logout ImportError: cannot import name 'logout'