尝试使用Wagtail(2)。引入django-extensions
首先
你好。
希望使用Wagtail进行开发,但目前未安装任何调试所需的库。
在调试中使用的Django库有django-extensions和django-debug-toolbar等。据我所知只有这些。
因此,我們這次引入了django-extensions,所以整理了相關的流程。我也想調查一下Django的庫。
上一篇文章
安装Django扩展
我会为您提供以下的一种中文翻译:
我来介绍一下Django拓展的安装流程。我在Mac上进行了操作。
首先,执行以下命令。
pip install django-extensions
然后,在mysite/settings/base.py的INSTALLED_APPS中添加django-extensions。
只要这些,基本功能就可以使用,但还有一些功能是无法使用的。
虽然有一个可以生成模型的ER图的命令(详见后文),但是它需要一些步骤。
brew install Graphviz
pip install pygraphviz
出现错误,无法顺利进行,但查看了这个ISSUE后问题得到解决。
参考:在Mac OS 10.11.6上无法安装pygraphviz。
尝试使用django-extensions
Django扩展的功能非常方便。
首先要介绍的是show_urls。
python manage.py show_urls
首先,我们将在Django项目的URL中显示“视图”和“模板”的关系列表。
我认为这种表达方式可能不太清楚,所以让我们先看一下执行日志。(部分摘录)
/django-admin/login/ django.contrib.admin.sites.login admin:login
/django-admin/logout/ django.contrib.admin.sites.logout admin:logout
/django-admin/password_change/ django.contrib.admin.sites.password_change admin:password_change
/django-admin/password_change/done/ django.contrib.admin.sites.password_change_done admin:password_change_done
左侧的/django-admin/login/等表示了连接到http://localhost:8000/后面的路径(URL模式)。
让我们来看看django在Github上的django.contrib.admin.sites。我们会发现其中有一个login函数。
右侧的“admin:login”等表示了路径的名称。在设置url_patterns时,将URL作为第三个参数。
name="hogehoge"
这样写吧。这个name就是指这个。
我想试着添加一个view函数,然后使用show_urls来查看它。
我会根据参考网站编写代码。
参考:【Django入门】使用views来显示页面
追加的代码如下所示。
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world.")
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.index, name='index'),
]
from home import views as home_views # 上部に追記
url(r'^home/', include('home.urls')) # urlpatternsのリスト内に追記
当您点击此处后,显示“Hello, world。”即表示成功。
让我们运行下面的命令吧。
python manage.py show_urls | grep home
/home/ home.views.index index
你看到了吧。
当导入视图或在模板中填写URL时很有用。
参考:Django应用程序中插入URL链接的方式和优势。
参考:实体关系图(ER图)
在django-extensions中,您只需使用一个命令就可以将项目的ER图生成为PNG格式。
这是一个非常实用的工具,可用于数据库设计。
现在,让我们执行该命令并进行确认。
python manage.py graph_models -a -o mysite_er.png

□runserver_plus
这次我再介绍一个东西。
它可以在Web浏览器上进行调试。
现在我们来执行命令。
python manage.py runserver_plus
随后,
CommandError: Werkzeug is required to use runserver_plus. Please visit http://werkzeug.pocoo.org/ or install via pip. (pip install Werkzeug)
按照所说的,安装Werkzeug然后再次尝试。
这个普通的runserver和其他的不太一样。
日志的最后一行有这样的内容。
我们应该记下来以后使用。
* Debugger PIN: xxx-xxx-xxx
让我们按照以下方式来编辑代码。
return HttpReesponse("Hello, world.") # わざと間違える


在右侧有一个类似终端的按钮。点击那里,输入刚才记下的PIN码,即可进行调试。由于可以以交互方式执行Python代码,可以检查变量等对象的值。
最后
这次我尝试把django-extensions引入到项目中。
下次我想要尝试操作Wagtail。