Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django ImportError:没有名为tango_的模块,带有_Django_project.settings_Python_Django_Runtime Error - Fatal编程技术网

Python Django ImportError:没有名为tango_的模块,带有_Django_project.settings

Python Django ImportError:没有名为tango_的模块,带有_Django_project.settings,python,django,runtime-error,Python,Django,Runtime Error,在Tango With Django教程第5章的末尾,我创建了一个脚本,用于用测试数据填充SQLite数据库,该脚本名为: ~/Workspace/wad2/tango\u with\u django\u project/populate\u rango.py 收到错误后,我尝试直接从书中复制粘贴脚本,但仍然收到以下错误: H:\Workspace\wad2\tango_with_django_project>python populate_rango.py Traceback (most

在Tango With Django教程第5章的末尾,我创建了一个脚本,用于用测试数据填充SQLite数据库,该脚本名为:
~/Workspace/wad2/tango\u with\u django\u project/populate\u rango.py

收到错误后,我尝试直接从书中复制粘贴脚本,但仍然收到以下错误:

H:\Workspace\wad2\tango_with_django_project>python populate_rango.py
Traceback (most recent call last):
  File "populate_rango.py", line 7, in <module>
    django.setup()
  File "C:\Python27\lib\site-packages\django\__init__.py", line 22, in setup
    configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
  File "C:\Python27\lib\site-packages\django\conf\__init__.py", line 53, in __ge
tattr__
    self._setup(name)
  File "C:\Python27\lib\site-packages\django\conf\__init__.py", line 41, in _set
up
    self._wrapped = Settings(settings_module)
  File "C:\Python27\lib\site-packages\django\conf\__init__.py", line 97, in __in
it__
    mod = importlib.import_module(self.SETTINGS_MODULE)
  File "C:\Python27\lib\importlib\__init__.py", line 37, in import_module
    __import__(name)
ImportError: No module named tango_with_django_project.settings
型号.py

import os

os.environ.setdefault('DJANGO_SETTINGS_MODULE',
                      'tango_with_django_project.settings')

import django
django.setup()
from rango.models import Category, Page

def populate():

    python_pages = [
        {"title": "Official Python Tutorial",
         "url":"http://docs.python.org/2/tutorial/"},
        {"title":"How to Think like a Computer Scientist",
         "url":"http://www.greenteapress.com/thinkpython/"},
        {"title":"Learn Python in 10 Minutes",
         "url":"http://www.korokithakis.net/tutorials/python/"} ]

    django_pages = [
        {"title":"Official Django Tutorial",
         "url":"https://docs.djangoproject.com/en/1.9/intro/tutorial01/"},
        {"title":"Django Rocks",
         "url":"http://www.djangorocks.com/"},
        {"title":"How to Tango with Django",
         "url":"http://www.tangowithdjango.com/"} ]

    other_pages = [
        {"title":"Bottle",
         "url":"http://bottlepy.org/docs/dev/"},
        {"title":"Flask",
         "url":"http://flask.pocoo.org"} ]

    cats = {"Python": {"pages": python_pages},
            "Django": {"pages": django_pages},
            "Other Frameworks": {"pages": other_pages} }

    for cat, cat_data in cats.items():
        c = add_cat(cat)
        for p in cat_data["pages"]:
            add_page(c, p["title"], p["url"])

    # Print out the categories we have added.
    for c in Category.objects.all():
        for p in Page.objects.filter(category=c):
            print("- {0} - {1}".format(str(c), str(p)))

def add_page(cat, title, url, views=0):
    p = Page.objects.get_or_create(category=cat, title=title)[0]
    p.url=url
    p.views=views
    p.save()
    return p

def add_cat(name):
    c = Category.objects.get_or_create(name=name)[0]
    c.save()
    return c

# Start execution here!
if __name__ == '__main__':
    print("Starting Rango population script...")
    populate()
from __future__ import unicode_literals
from django.db import models

class Category(models.Model):
    name = models.CharField(max_length=128, unique=True)
    views = models.IntegerField(default=0)
    likes = models.IntegerField(default=0)

    class Meta:
        verbose_name_plural = 'Categories'

    def __str__(self): 
        return self.name

class Page(models.Model):
    category = models.ForeignKey(Category)
    title = models.CharField(max_length=128)
    url = models.URLField()
    views = models.IntegerField(default=0)

    def __str__(self): 
        return self.title
设置.py(相关代码)

地点

~/Workspace/wad2/manage.py  
~/Workspace/wad2/tango_with_django_project/populate_rango.py  
~/Workspace/wad2/tango_with_django_project/settings.py  
有人知道这些错误的原因吗? 造成这种情况的一个常见原因似乎是文件夹名称错误,但我的脚本已在我的
os.environ.setdefault
行中指定的
tango\u with\u django\u项目
文件夹中。
如果有任何其他文件有用,我可以添加它们。

为了让您的Django项目将设置作为
tango\u与\u Django\u项目一起加载。设置
wad2
需要位于Python路径上

最简单的修复方法是将
populate\u rango.py
wad2/tango\u与\u django\u项目一起上移到
wad2

或者,您可以在
populate\u rango.py

import sys
sys.path.append('..')

import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE',
                      'tango_with_django_project.settings')

为了让您的Django项目将设置作为
tango\u与\u Django\u项目一起加载。设置
wad2
需要位于Python路径上

最简单的修复方法是将
populate\u rango.py
wad2/tango\u与\u django\u项目一起上移到
wad2

或者,您可以在
populate\u rango.py

import sys
sys.path.append('..')

import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE',
                      'tango_with_django_project.settings')

请以什么方式显示您的项目布局。@Alasdair?您想要我的settings.py文件还是任何特定的终端输出?您尚未显示文件的布局,例如
settings.py
populate\u rango.py
@Alasdair,编辑以包括layout@Paradox快速提问:您是否在带有\u django\u项目的
中有
\uu init\uuuu.py
?请以何种方式显示项目的布局。@Alasdair?您想要我的settings.py文件还是任何特定的终端输出?您还没有显示文件的布局,例如
settings.py
populate\u rango.py
@Alasdair的位置,已编辑为包括layout@Paradox快速提问:您是否有
\uuuu init\uuuu.py
中与\u django\u项目一起使用?