Страницы

Поиск по вопросам

вторник, 21 мая 2019 г.

Не могу запустить скрипт по примеру из книги How to Tango with Django

Добрый вечер! Имеется скрипт из книги
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__': нужно сместить на один отступ влево. Иначе в скрипте просто нечему будет начать выполняться.

Комментариев нет:

Отправить комментарий