Добрый вечер! Имеется скрипт из книги
import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE',
'tango_with_django_project.settings')
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'])
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
if __name__ == '__main__':
print('Starting Rango population script...')
populate()
При запуске он должен выдавать примерно такой результат:
$ python populate_rango.py
Starting Rango population script...
- Python - Official Python Tutorial
- Python - How to Think like a Computer Scientist
- Python - Learn Python in 10 Minutes
- Django - Official Django Tutorial
- Django - Django Rocks
- Django - How to Tango with Django
- Other Frameworks - Bottle
- Other Frameworks - Flask
Но, увы, ничего не происходит. Уже час ломаю голову над этим. Просто при запуске пустая строчка без каких-либо ошибок
Ответ
Весь последний блок начиная со строки if __name__ == '__main__': нужно сместить на один отступ влево. Иначе в скрипте просто нечему будет начать выполняться.
Комментариев нет:
Отправить комментарий