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

yipeiwu_com5年前Python基础

使用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版本以上的童鞋遇到问题最好阅读官网手册,网上一般找不到解决方案。

相关文章

numpy数组之存取文件的实现示例

将 numpy 数组存入文件,有多种文件类型可供选择,对应地就有不同的方法来读写。 下面我将介绍读写 numpy 的三类文件: txt 或者 csv 文件 npy 或者 npz...

Python unittest模块用法实例分析

本文实例讲述了Python unittest模块用法。分享给大家供大家参考,具体如下: python的unittest模块提供了一个测试框架,只要我们写一个继承unittest.Test...

使用Python的Bottle框架写一个简单的服务接口的示例

是不是有这么一个场景,对外提供一堆数据或者是要返回给用户一个结果。但是不想把内部的一些数据和逻辑暴露给对方。。。简单点来说,就是想以服务的方式对外提供一个接口。对于这种有很多处理方式,R...

基于scrapy的redis安装和配置方法

在定向爬虫的制作过程中,使用分布式爬取技术可以显著提高爬取效率。而 Redis 配合 Scrapy 是实现分布式爬取的基础。 Redis 是一个高性能的 Key-Value 数据库,它把...

Python实现将数据库一键导出为Excel表格的实例

Python实现将数据库一键导出为Excel表格的实例

数据库数据导出为excel表格,也可以说是一个很常用的功能了。毕竟不是任何人都懂数据库操作语句的。 下面先来看看完成的效果吧。 数据源 导出结果 依赖 由于是Python实现的,所...