先日Django-cmsをデプロイしてみたが、さくらでは眠ってしまいそうなくらい遅かった。coreserver-miniではそこそこのレスポンス。借りているサーバーにもよるのだろうけれど…
マシンスペック
さくら
CPU T7200 @ 2.00GHz メモリ:2GB
coreserver-mini
Xeon L3110 3.00GHz x 2 4019MB
の差でしょうか。
2010年11月28日日曜日
2010年11月26日金曜日
2010年11月25日木曜日
2010年11月11日木曜日
2010年11月9日火曜日
django-scheduleのweekページで曜日の短縮型
日付が2桁だと水曜日に行からあふれるので
_daily_occurrences.htmlの5行め
{{day.start|date:"l, d"}}
を
{{day.start|date:"D, d"}}
に
_daily_occurrences.htmlの5行め
{{day.start|date:"l, d"}}
を
{{day.start|date:"D, d"}}
に
2010年11月7日日曜日
djangoのformでMultipleChoiceFieldの初期値設定
forms.MultipleChoiceField(choices=( ('0', 'Foo'), ('1', 'Bar'), ('2', 'Hoge')), required=False, initial=['0', '2'])
2010年11月5日金曜日
pythonでOpenOffice calc with uno ー特定のシートを選択するにはー
sheet=doc.Sheets.getByIndex(0)
doc.getCurrentController().setActiveSheet(sheet)
doc.getCurrentController().setActiveSheet(sheet)
2010年11月4日木曜日
Django-cmsでmenuのカスタマイズ
djangoのアプリで結果はpublicに表示したいけれど登録やリストその他のアプリURLはログインしたuserだけに見えるようにしたい。(Advanced SettingsのMenu visibilityをfor logged in users onlyに設定しちゃうとそのページも見えなくなる。)
たとえば、edit, list, enrollをhogeMenuとしてmenu.pyに登録して、一般に表示する部分はurl(r'$', 'showPublic'),とurls.pyの登録し
/hoge/ 一般に表示する
/hoge/edit/ ログインユーザーのみ
/hoge/list/ ログインユーザーのみ
/hoge/enroll/ ログインユーザーのみ
としたければ
たとえば、edit, list, enrollをhogeMenuとしてmenu.pyに登録して、一般に表示する部分はurl(r'$', 'showPublic'),とurls.pyの登録し
/hoge/ 一般に表示する
/hoge/edit/ ログインユーザーのみ
/hoge/list/ ログインユーザーのみ
/hoge/enroll/ ログインユーザーのみ
としたければ
from menus.base import Modifierをmenu.pyに追加すればよい
class skipHogeMenuWithoutLogin(Modifier):
def modify(self, request, nodes, namespace, root_id, post_cut, breadcrumb):
for node in nodes:
if node.namespace == u'HogeMenu':
if request.user.is_authenticated():
node.visible = True
else:
node.visible = False
return ret
menu_pool.register_modifier(skipHogeMenuWithoutLogin)
Django-cmsでApphook
djangoアプリをdjango-cmsのメニューに乗っけるにはApphookを使うのでけれど、Apphookを追加してpageのAdvanced Settingsでアプリを指定してもcmsのメニューには表示されない。
cmsのメニューに表示するにはmenu.pyが必要。
メニューに表示されないが、ページのURLに続いて直打でそれぞれのページを打ち込めば表示はされる。
cms_app.py
urls.pyが以下なら
http://hogehoge/pageURL/1/
でアクセスできる。
cmsのメニューに表示するにはmenu.pyが必要。
メニューに表示されないが、ページのURLに続いて直打でそれぞれのページを打ち込めば表示はされる。
cms_app.py
from cms.app_base import CMSAppcmsのページでアプリを指定
from cms.apphook_pool import apphook_pool
from django.utils.translation import ugettext_lazy as _
#from menu import HogeMenu #<-必要
class HogeApphook(CMSApp):
name = _("Hoge")
urls = ["hoge.urls"]
#menus = [HogeMenu] #<-必要
apphook_pool.register(HogeApphook)
urls.pyが以下なら
urlpatterns += patterns('hoge.views',http://hogehoge/pageURL/edit/
url(r'edit/$', 'edit_Hoge'),
url(r'(?P<page>\d+)/$', 'list_Hoge', name='list_Hoge'),
)
http://hogehoge/pageURL/1/
でアクセスできる。
2010年11月2日火曜日
bound formでwidgetを変更する
view.pyでお決まりの呪文に追加
if request.method == u'POST':
form = FooForm(request.POST, instance=Foo)
form.fields['fieldName'].widget=PasswordInput()
if form.is_valid():
.........
else:
form = FooForm(instance=Foo)
form.fields['fieldName'].widget=PasswordInput()
登録:
投稿 (Atom)