Django1.3添加app提示模块不存在的解决方法

使用Django添加应用的时候,一直提示Error: No module named myapp。意思是找不到这个名字的应用,可是我已经startapp成功,并且系统已经创建相应的目录

代码如下:

D:\Python27\Scripts\website>python manage.py syncdb
Error: No module named myapp

难道官方的文档有错,我manage.py startapp myapp已经成功,并且已经创建目录与文件。
并在settings.py的INSTALLED_APPS里添加应用,如下代码

代码如下:

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # Uncomment the next line to enable the admin:
    # 'django.contrib.admin',
    # Uncomment the next line to enable admin documentation:
    # 'django.contrib.admindocs',
    'website.myapp',
)

最后一行website.myapp就是我新添加的。谷歌搜索了好久,也没有解决这个问题。最后无奈只好去官方读读docs,才发现这是新版与旧版的区别问题。
Django1.3版之前需要project.app这么写
Django1.3版后只需要app这么写即可
最后把settings.py的INSTALLED_APPS修改为

代码如下:

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # Uncomment the next line to enable the admin:
    # 'django.contrib.admin',
    # Uncomment the next line to enable admin documentation:
    # 'django.contrib.admindocs',
    'myapp',
)

然后执行

代码如下:

python manage.py syncdb

OK,成功。

后记

我下载了最新版本的Django1.4,手册教程是旧版本的。一步步跟着教程安装出现了问题,一开始以为是自己哪里漏命令或者输错命令了,重试N次还是提示找不到应用。最后无奈只好到官网去仔细阅读英文手册(靠翻译软件)最终发现这是版本问题。

经过这几天调试发现新版与旧版有不少区别,而且也是新手及容易犯的错误,而网上极少的教程又是以低版本为主,加上不少站点采集千篇一律,这也可能是因为Python在国内做站的几乎没有或者极少数。所以个人建议接触Django1.3版本以上的童鞋遇到问题最好阅读官网手册,网上一般找不到解决方案。

(0)

相关推荐

  • Django1.3添加app提示模块不存在的解决方法

    使用Django添加应用的时候,一直提示Error: No module named myapp.意思是找不到这个名字的应用,可是我已经startapp成功,并且系统已经创建相应的目录 复制代码 代码如下: D:\Python27\Scripts\website>python manage.py syncdb Error: No module named myapp 难道官方的文档有错,我manage.py startapp myapp已经成功,并且已经创建目录与文件. 并在settings.p

  • Ubuntu 18.04 安装MySQL时未提示输入密码的问题及解决方法

    Ubuntu 1804 安装MySQL 5.7为例给大家介绍的很详细. 执行命令安装MySQL sudo apt install mysql-server sudo apt install mysql-client 安装后看下是否启动: sudo ps aux | grep mysql 如果已经启动,执行完上述命令可看到相应的信息,如果没有启动,则可执行下面命令启动mysql: sudo service mysql start 另外,一会要用到重启mysql命令,重启和关闭mysql的命令分别是

  • mysql 主从数据不一致,提示: Slave_SQL_Running: No 的解决方法

    本文实例讲述了mysql 主从数据不一致,提示: Slave_SQL_Running No 的解决方法.分享给大家供大家参考,具体如下: 在slave服务器上通过如下命令 mysql> show slave status\G; 显示如下情况: Slave_IO_Running: Yes Slave_SQL_Running: No 表示slave不同步 解决方法一(忽略错误,继续同步): 1.先停掉slave mysql> stop slave; 2.跳过错误步数,后面步数可变 mysql>

  • IDEA手动添加junit4时出现的问题与解决方法

    当我写@Test注解时,一直报错 后来百度是缺少junit4的包 手动添加junit4包 具体查看是在左上角 file–>project structure 点击进来以后选择modules,再点击当前的项目JDBC,就可以看到当前模块的一些依赖库,此时是没有导入junit4的. 此时点击右边加号,点击2.library,再点击Java,选择IDEA安装目录,在lib文件夹中找到junit-4.12 然后应用,此时@Test注解不再报错,但是运行时出现错误 查询官网: 查官网: JUnit now

  • Mac安装软件时提示已损坏的完美解决方法

    目录 Mac安装软件时提示已损坏的解决方法 原因 解决方法 Mac安装软件时提示已损坏的解决方法 从网上下载的SecureCRT.Principle等设计软件,以及输入法等常用软件,安装时可能会提示“已损坏,移至废纸篓”这类信息,根本无法打开.如下图:这不是文件的问题,是系统限制的原因. 原因 新系统(macOS Sierra 10.12.X以上)加强了安全机制默认不允许用户自行下载安装应用程序,只能从Mac App Store里安装应用. 解决方法 步骤一:打开终端 步骤二:输入代码 sudo

  • seajs模块压缩问题与解决方法实例分析

    本文实例讲述了seajs模块压缩问题与解决方法.分享给大家供大家参考,具体如下: 在优化整理项目代码时,想使用seajs来把代码模块化.看了下官方5分钟上手教程,觉得很不错,也没多想就一直开发下去了,也没出什么问题.等一同事说把代码打包个放到设备上去测试一下,发现怎么也跑不起来,郁闷了. 于是单步调试一把,发现模块一直加不进来.看了一下seajs的原码,明白了是怎么回事. define模块解析依赖有两种途径,一种是从define(id, deps, factory)中的deps来:还有一种是解析

  • php提示Warning:mysql_fetch_array() expects的解决方法

    本文实例讲述了php提示Warning mysql_fetch_array() expects的解决方法,分享给大家供大家参考.具体分析如下: 在mysql数据库连接时碰到Warning: mysql_fetch_array() expects ...错误提示,根据我的经验这个是sql返回的query为空了,我们没有加己判断直接使用了. mysql_fetch_array()函数导致的,下面我们一起来看问题解决方案,我的代码如下: 复制代码 代码如下: include("conn.php&quo

  • ThinkPHP调用common/common.php函数提示错误function undefined的解决方法

    本文主要介绍了ThinkPHP调用common/common.php函数提示错误function undefined的解决方法.对于采用ThinkPHP进行项目开发的朋友来说,在进行ThinkPHP升级后经常会遇到这类问题.具体描述如下: 在对ThinkPHP升级后使用了最新的ThinkPHP3.2版本,将通用的函数放到了common/common.php中,但是在具体页面调用函数时出现了function undefined的错误提示. 在查看了官方文档后发现,原来ThinkPHP3.2版本co

  • Radio 单选JS动态添加的选项onchange事件无效的解决方法

    //记一个问题(已经解决2016.5.5) //在公司项目中遇见一个添加单选项的需求,采用ajax一步请求.为节约资源添加后不刷新网页,js动态改变页面 //当选择到动态添加的单选项,执行绑定事件 radio 单选JS动态添加的选项,onchange事件无效.使用delegate()函数可以解决该问题!!! delegate(): delegate() 方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数. 使用 delegate() 方法的事件处

  • MySQL重置root密码提示"Unknown column ‘password"的解决方法

    晚上打开MAC,发现root帐户突然不能正常登陆MySQL,于是打算重置密码,看了几篇文章,竟然重置不成功,总是得到Unknown column 'password'的错误,看了user的表结构也确实没有该字段了.经查发现是MySQL升级后将字段名给改了,password名称改为authentication_string了.知道原因后,按照如下命令就可以成功重置root密码了. $sudo mysql.server stop #先关闭正常的MySQL服务 $sudo mysqld_safe --

随机推荐