调试django项目的土方法

Posted on 2018-03-13 21:55  王将军之武库  阅读(212)  评论(0)    收藏  举报

      pyscripter是自己编写python程序的ide。有时想深入了解一些程序的工作机制,直接看源码可能不能一下子看懂,通过看程序运行的结果来看程序的作用更方便理解程序。

     调试django项目时,使用python manage.py shell不是很方便,特别是复制等操作。

     今天用pyscripter时,加入django项目,用pyscripter打开manage.py文件,可以直接调试。

#!/usr/bin/env python
import os
import sys
#使用的是mezzanine项目
if __name__ == "__main__":

    from mezzanine.utils.conf import real_project_name

    settings_module = "%s.settings" % real_project_name("mez")
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", settings_module)#设置环境变量

    from mezzanine.conf import settings
    import django
    django.setup()#调用setup函数
    #print settings.INSTALLED_APPS
    from mezzanine.pages.models import Page, RichTextPage
    parent, _ = RichTextPage.objects.get_or_create(title="Parent", slug="parent")#要连接数据库
    print parent.slug
    parent.set_slug("new-parent-slug")
    print parent.slug

    from mezzanine.core.models import CONTENT_STATUS_PUBLISHED
    from django.template import Context, Template
    menus = []
    pages = []
    template = "{% load pages_tags %}"
    for i, label, path in settings.PAGE_MENU_TEMPLATES:
        menus.append(i)
        pages.append(RichTextPage.objects.create(in_menus=list(menus),
            title="Page for %s" % str(label),
            status=CONTENT_STATUS_PUBLISHED))
        template += "{%% page_menu '%s' %%}" % path
    rendered = Template(template).render(Context({}))
    print pages,menus
    print rendered

 

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3