运行Django的./manage.pysyncdb时自动提示更新默认站点域名?
关于Django Sites模块和manage.pysyncdb
Auth模块可以在.\manage.pysyncdb期间提示询问管理站点的默认超级用户。我希望看到默认站点域名也发生类似的情况。目前它是 example.com,硬编码的,除非我使用管理网站来更改它。我想在syncdb期间更改它。
Regarding Django Sites module and manage.py syncdb
The Auth module can prompt to ask for default superuser for the admin site, during .\manage.py syncdb. I would like to see similar things happen for the default site domain name. Currently it is example.com, hardcoded unless I use admin web site to change it. I want to change it during syncdb.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我制作了一个可以插入并运行的小型 django 应用程序。插入它:
或
manage.py createdefaultsite
屏幕截图:
它带有单元测试。
要运行单元测试:
“site_default”是应用程序名称。
源代码:
http://github.com/peiwei/pinax/raw/master/ pinax/apps/site_default.tgz
更多截图:
I made a small django app that can be plugged in and play. To plug it in:
manage.py syncdb
or
manage.py createdefaultsite
Screen shot:
It comes with a unit test.
To run unit test:
"site_default" is the app name.
Source code:
http://github.com/peiwei/pinax/raw/master/pinax/apps/site_default.tgz
More Screenshot:
您可以自己执行此操作:
post_syncdb
信号该命令将允许您从命令行方便地设置站点。将其连接到信号意味着每当安装
sites
应用程序时您都会收到提示。例如:在编写
create_site
函数(信号处理程序)时,您可以几乎完全复制auth
模块的方法:现在您只需要创建管理命令
createsite< /code> 就完成了。我确实想知道为什么 Django 中还没有这个,我讨厌 example.com。
将所有这些放入一个小应用程序中,并在您所做的每个项目中重复使用它。如果您将应用程序发布到 google code 或 django 的 bug tracker 等地方,则会获得奖励积分。
You can do this yourself:
post_syncdb
signalThe command will let you set the site conveniently from the command line. Connecting it to the signal will mean you get prompted whenever the
sites
app is installed. eg:When writing the
create_site
function (signal handler), you can copy theauth
module's approach almost exactly:Now you just need to create your management command
createsite
and you're done. I do wonder why this isn't already in Django though, I hate example.com.Put all this into a little app and reuse it for every project your do. Bonus points if you post the app somewhere like google code or django's bug tracker.