【Python】Webフレームワーク Djangoスレ Part1 at PHP
[2ch|▼Menu]
[前50を表示]
650:nobodyさん
09/04/26 03:09:59
小物は何匹集まっても小物なんだね。

651:nobodyさん
09/05/04 23:37:44
URLリンク(sugaya.otaden.jp)

ダンジョーが何匹集まってもかないそうにないね.

652:nobodyさん
09/05/05 14:03:29
グロ注意

653:nobodyさん
09/05/11 21:09:39
gdgd

654:nobodyさん
09/05/16 09:21:10
Djangoのテンプレートエンジンで、レイアウトテンプレートは使えますか。
Railsとかにある機能なんですけど。
テンプレートの継承が使えるかなと思ったのですが、ちょっと違いました。


655:nobodyさん
09/05/17 05:37:13
それでいい

656:nobodyさん
09/05/24 10:13:30 OkexyHIj
プロジェクトとアプリケーションの使い分けがよくわからないのですが、
どのような状況でひとつのプロジェクト内に複数のアプリを利用するのでしょうか?

djangoのアプリケーション=MVCフレームワークのコントローラのような使い方?

657:nobodyさん
09/05/24 20:34:25
プロジェクト内に、メールフォームを設置したり、ブログを設置したり、wikiを設置したり・・・
といったこともアプリ単位で考えらますよね。
ちなみに、Djangoおなじみのadminやユーザー管理機能もアプリの1つです。
再利用しやすい部品にしているのがアプリだと認識しています。
ぱっと思いついたのはこんなところです。

658:nobodyさん
09/05/25 01:09:08 9fHNdHG5
どのdbに接続するかって問題じゃなくて?

659:nobodyさん
09/05/25 01:17:44
接続するdbは1つのはずだけど・・・どういうこと?

660:nobodyさん
09/06/01 14:54:16
質問です。form.as_tableってやっぱ簡単なテストなんかに
使えるけど本番としては使わないような機能なんでしょうか?

たとえば

name = models.CharField(max_length=32)

とかやった場合、

<th>Name:</th>

と出力されますよね? これを

<th>お名前:</th>

にしたい場合はやっぱas_tableを使わずに地道にテーブル書いて
いくというのが定石でしょうか? それともなんか技があるんで
しょうか?

661:nobodyさん
09/06/01 21:18:24
>>660
nameの定義に
verbose_name=u'お名前'
を追加したらできると思う。

それかFormでlabelを設定するか。


本番では使わない方がいいっていう記述を見た気がするけど、どこで見たのか忘れた。
自分は、凝ったことしようとしたときに、一から地道に書き直すの面倒だから、
最初から地道に書くようにしてる。

662:nobodyさん
09/06/01 22:54:05
verbose_nameは主にadmin向けの変数なので、Formでlabelを定義するに一票かな。

663:nobodyさん
09/06/02 03:43:41 y5DfRLdd
name = models.CharField(u'お名前', max_length=32)


664:660
09/06/02 14:12:58
>>661-663
サンクス。

>>663をそんなバカな、と思ってやってみたらできました!
でもこの方法、ドキュメントに見あたらないんですが。

665:nobodyさん
09/06/02 16:17:48
初めて発見したときは目から鱗でした

666:nobodyさん
09/06/02 16:23:45
URLリンク(michilu.com)

詳細なフィールド名
各フィールドの型は、 ForeignKey, ManyToManyField および OneToOneField を除き、
オプションの固定引数 (positional argument) を第一引数として指定できます。
この引数には人間可読なカラム名を指定します。
引数を指定しなければ、 Django はカラム名のアンダースコアをスペースに変換して、
自動的に人間可読なカラム名を生成します。

下の例では、人間可読なカラム名は "Person's first name" になります:

first_name = models.CharField("Person's first name", max_length=30)

下の例では "first name" です:

first_name = models.CharField(max_length=30)

ForeignKey, ManyToManyField および OneToOneField では、
第一引数は必須で、モデルのクラスにします。
従って、人間可読なカラム名を指定するには、
verbose_name キーワード引数を使います:

poll = models.ForeignKey(Poll, verbose_name="the related poll")
sites = models.ManyToManyField(Site, verbose_name="list of sites")
place = models.OneToOneField(Place, verbose_name="related place")

慣習的に、 verbose_name の先頭の文字は大文字にしないことになっています。
Django は必要なときに先頭の文字を自動的に大文字にします。

667:nobodyさん
09/06/21 18:25:00
完全に詰んだ。
助けてくれ

model.py
from django.db import models

class Article(models.Model):
subject = models.CharField(max_length=200)
body = models.TextField(max_length=2000)
photo_name = models.CharField(max_length=200)
pub_date = models.DateTimeField("date published")
image = models.ImageField(upload_to="img")

class Admin:
list_display = ("subject",
"body",
"photo_name",
"pub_date",
"image",
)


668:nobodyさん
09/06/21 18:46:19
何を助けてほしいのよ

669:nobodyさん
09/06/21 19:28:53
view.py(抜粋)
if request.method == 'POST':
# get cleaned PhotoWithThumbForm
form = ArticleSubmitForm(request.POST, request.FILES)

if form.is_valid():
form.full_clean()
cleaned_data = form.cleaned_data

pub_date = forms.DateTimeField()
cleaned_pub_date = pub_date.clean(datetime.datetime.now())

article = Article()
article.photo_name = cleaned_data["photo_name"]
article.image = cleaned_data["image"]
article.pub_date = cleaned_pub_date

article.save()

こんな感じで画像のアップロードをさせたいんだが、
フォームからPOSTリクエストを送ると画像だけがMEDIA_ROOT/imgにアップロードされない。
エラーも何も吐かない。adminから編集してもやはり画像だけはアップロードされない。

たすけt

670:nobodyさん
09/06/21 19:29:59
1時間もラグるとかどんだけだ

671:nobodyさん
09/06/21 20:50:32
admin.pyじゃなくて、models.py内でclass Adminって定義しているということは、1.0使っていないのかな?
ImageFieldは1.0かららしいけれども。
URLリンク(djangoproject.jp)

672:nobodyさん
09/06/21 20:55:45
>>671
ありがとうございます。

今確認したところバージョンは1.0.2final。

settings.pyのMEDIA_ROOTに保存先を設定しておけば、
ImageFieldって使えるもんだと思ってたんですが、
みなさんImageField使う際ほかにやっている事ってありますか


673:nobodyさん
09/06/21 20:58:13
URLリンク(d.hatena.ne.jp)

みなさん状況をまとめたのでこっち見てもらえると助かります。

674:nobodyさん
09/06/21 21:51:11
まさか multipart になってないとか

675:nobodyさん
09/06/21 21:54:50
>リクエスト側の<input type="file" />から送信されるファイルデータは、
>必ず<form enctype="multipart/form-data">から送らせること。基本だが忘れてた。

一応やってんのか
なんか忘れてるんだろw
がんがれw

676:nobodyさん
09/06/23 01:15:57
URLリンク(djangoproject.jp)

なるほど、cleaned_data["image"]はUploadedFile オブジェクトで、モデル側のsave()では保存されないのかな。
ModelFormを使えば、form.save()でMEDIA_ROOT以下に保存してくれるのかもしれないね。

677:nobodyさん
09/06/23 06:06:41
>>676
おぉ、そんなものが、、、、

あーなるほど、1.0からの新機能なのか。
ちょっと試してみます。


678:nobodyさん
09/07/03 05:30:06

    ┌─┐
    │●│
    └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘      おっぱい!おっぱい!



679:nobodyさん
09/07/15 16:43:05
URLリンク(codezine.jp)

680:nobodyさん
09/07/16 01:28:24
    * Windows XP
    * Python 2.6.2
    * Django 1.1 Beta
    * SQLite3

 執筆時点(2009年6月29日)では、Djangoの正式バージョンは1.0.2ですが、間もなく1.1がリリースされる模様です。本稿では1.1Betaを使用します。

681:nobodyさん
09/07/16 01:32:44
djangoは良いんだけどフォームがしょぼいんだよなぁ

682:nobodyさん
09/07/24 15:38:01 UDVYXghb
www.djangoproject.jp が表示されない。
ほかの人はどうですか?


683:nobodyさん
09/07/24 16:08:49
>>682
503だね。
前にもあったけど転送量オーバーか何かじゃなかったか?

何かdjangoにアクセス集まるようなできごとあったっけ。
>679かな?

684:nobodyさん
09/07/24 16:24:32
djangoで作られてるんだろうけど
良く落ちてるよねw
djangoの信頼性に関わるんじゃないかなw
前はruby-lang.orgも良く落ちてたw

685:nobodyさん
09/07/24 16:41:59
>>684
503は鯖落ちだろうからdjangoのせいではないでしょ。

686:682
09/07/24 16:51:12 UDVYXghb
自分のところだけじゃないんですね。
最近になってDjango触り始めたので早く復旧して欲しいです。


687:nobodyさん
09/07/24 18:23:18
ダンジョーはこんなものだろう。

688:nobodyさん
09/07/24 18:32:17
オンラインだけじゃ心配
pdfでまとまったドキュメントダウンロードしとかないと
いざと言うときにリファレンス出来なくて困るね

689:nobodyさん
09/07/24 18:40:47
>>683
Djangの人たちは貧乏なITドカタばっかりなんだなきっと。

690:nobodyさん
09/07/24 19:32:38
これだからドジャンゴは...

691:nobodyさん
09/07/24 20:58:06
    ┌─┐
    │●│
    └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘      おっぱい!おっぱい!

692:nobodyさん
09/07/24 22:18:30
ジャンゴってゾープに似てるよな。

693:nobodyさん
09/07/26 21:35:56 iKrDlglo
www.djangoproject.jp

まだ落ちてるよ
日本人でDjangoをやっているひとたちは
サイトが長時間落ちてもオッケー的な感覚の持ち主なんだろうな


694:nobodyさん
09/07/26 21:58:09

一応言っておくが、djangoproject.jp のサーバーが落ちてるのは 、
ネットワークかバックエンドのデータベースの問題な。

djangoの問題ではない。


695:nobodyさん
09/07/26 22:24:17
>>693
>サイトが長時間落ちてもオッケー的な感覚の持ち主なんだろうな

ぬるい人たちが沢山よりつく
ぬるいフレームワーク
ということなのかね

696:nobodyさん
09/07/26 23:43:45
    ┌─┐
    │●│
    └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘      おっぱい!おっぱい!

697:nobodyさん
09/07/26 23:45:24
694が鯖落ちの原因について必要以上に詳しいのに嫉妬した。

698:nobodyさん
09/07/26 23:58:24
>>694
それにしてもなさけないだろう。

699:nobodyさん
09/07/26 23:58:55
Service Temporarily Unavailable

The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
Apache/2.2.8 (Ubuntu) mod_python/3.3.1 Python/2.5.2 PHP/5.2.4-2ubuntu5.6 with Suhosin-Patch mod_ssl/2.2.8 OpenSSL/0.9.8g mod_wsgi/2.0 Server at djangoproject.jp Port 80


これってそういう意味なんか

700:nobodyさん
09/07/27 12:47:40
僕たちサーバ管理よりイベントが大好きなんです
アッーー!

701:nobodyさん
09/07/29 10:49:56
ドジャンゴ

702:nobodyさん
09/07/29 17:42:33 JeqPszXb
Django 1.1 age

703:nobodyさん
09/07/29 18:44:49
日本のダンジョーたちにはさっさとドキュンメントを1.1に対応させてもらいたい

704:nobodyさん
09/07/29 22:53:41
>>702
どじゃんご?

705:nobodyさん
09/07/30 18:57:42
どじゃんごはユルい体脳PHPerをPython方面に連れてくるのをやめて欲しい

706:nobodyさん
09/07/30 19:43:12
>>705
もうちょっと日本語で!

また、サイト落ちてない?(´・ω・`)

707:nobodyさん
09/07/31 22:48:31
中の人さん、復旧に数日かかるようなら一時的に退避サイトにリダイレクトできませんかね。

708:nobodyさん
09/07/31 22:49:23
サーバが落ちてるんならリダイレクトもできないんじゃね?

709:nobodyさん
09/08/01 13:30:18
色々な点で、頭数が多いのは武器だと思うぞ。

710:nobodyさん
09/08/01 14:11:41
1.1正式リリース聞いて行ってみたら落ちとる・・・

>>708

apacheそのものは生きてるんでないの?
1つめのVHostだとつながったし。

URLリンク(mocchom.ppona.com)
URLリンク(www.djangoproject.jp)

www.djangoproject.jp has address 61.195.146.169
mocchom.ppona.com has address 61.195.146.169


711:nobodyさん
09/08/01 14:12:30
PHPの方から来ました^^

712:nobodyさん
09/08/01 18:39:42
mod_python is dead

713:nobodyさん
09/08/14 21:40:37 nEGqdMK6
     URLリンク(www.moongift.jp)

    即日ってすでに炎上してるっぽいんだが
    こういうのに手を出したがるおめでたいヤツって今時居るのかね



714:nobodyさん
09/08/14 22:39:41
むしろ不況の今だからこそ
パクッと逝くんだろなw

715:nobodyさん
09/08/14 23:15:33
この条件でパクっと逝くようなやつが、デスマ案件にからんでどんなことが起こるのか楽しみだw
有能な人はいつでも忙しいよ

716:nobodyさん
09/08/15 02:56:45 LWrcnMLs
           \
            \
          ∧ニユ/ ̄ヽ
\        ( ´∀/)    i
\.\    _(」つ/とl) .  | \
;::;::\i\  匚レ| .〈/ )    |  \
 。::;;:'\.\   (_,)ー'    |_,, -'''"!
^人;:'::;゚:;.\l\     _,,, -''"|_,, -''"|
 ^^从::;;:。':\.\_,, -''"|_,, -''"|   . :|
 へ ^へ;;::';;:'\l_,, -''" .   | 从^    〜
 ^ ^ヘ^人从::;;;:|    ,ィ人^. |  ^ ^へ^^
  〜 ^.へ' ^':レ^从 へ'  | 〜   ^
 へ ^^ へ 〜人^ ^  へ〜  〜

717:nobodyさん
09/08/15 18:34:22
>>715
デスマでなw

718:nobodyさん
09/08/15 18:54:31
夏なのにへんなのだが、寒くないか?

719:nobodyさん
09/08/15 20:17:17
そのリアクションがね

720:nobodyさん
09/08/15 22:16:19 LWrcnMLs
デスマで忙しい香具師はここには来ないし
優秀な香具師もここには来ないな

721:nobodyさん
09/08/16 04:41:25
ドジャンゴを使っている人々

- ブラック企業
- 低脳開発者(たいていはもとPHP使い)
- ITドカタ

厨房 / ブラック御用達フレームワークということですかね

722:nobodyさん
09/08/16 06:50:49
-サーバが落ちていることより角電池が気になるひとびと

これ追加。

723:nobodyさん
09/08/16 09:15:37
ドジャンゴなんて読めちゃう奴はpythonも素敵な読み方できそうだな

724:nobodyさん
09/08/17 00:08:50
ピスゥォン

725:nobodyさん
09/08/17 16:38:20
無茶振りして悪かったな

726:nobodyさん
09/08/17 19:59:42
わかってくれればいいさ

727:nobodyさん
09/08/17 21:16:33
調子のんな

728:nobodyさん
09/08/18 00:36:56
ありがとうございます。助かりました。

729:nobodyさん
09/08/19 17:50:11 3kUVf7Ji
>>721
むしろそれってRails使いのほうじゃね?
効率!て言葉に弱い人たち。

webでわざわざpython使うやつは
むしろひねくれものとか変わり者のイメージ
海外はしらね。

730:nobodyさん
09/08/19 18:16:50
ドジャンゴーってRoRに似てるよね。
DRYとか「波に乗れ!」とか。

731:nobodyさん
09/08/19 18:41:25
>>721
追加ヨロ。

- 効率!て言葉に弱い人たち。

732:nobodyさん
09/08/19 18:45:08
DJANGOの人たちが毛嫌いされる理由が分かった気がするよ
な る ほ ど ね

733:nobodyさん
09/08/19 22:28:42
URLリンク(image.blog.livedoor.jp)

こんな風だと想像しているのだけどwww

734:nobodyさん
09/08/20 00:56:55
相変わらず病気の人が粘着してるのか

735:nobodyさん
09/08/20 18:10:18
>>733
VさんKさん、EさんにUさんまで!

736:nobodyさん
09/09/10 22:51:48 daFaF82U
1.0になってバリデートの方法が変わったことは分かったのですが、
isAlphaNumericとかそういう検証テンプレートの代わりって無いでしょうか?

737:nobodyさん
09/09/14 08:17:12
>>736
フィールドに、cleanメソッド追加してその中で、
\w+みたいな感じでチェックするんじゃダメなん?

それがめんどくさいってことかな?(´・ω・`)

738:736
09/09/14 10:04:14
>>737
今はその方法などでやっているのですが、
前はisAlphaNumericみたいな機能があったので
見落としてるのかと思って質問させていただきました _ _

739:nobodyさん
09/10/05 00:22:49 qNer6yag
mod_python を使った django で辞書型やリストの値を
Ajax(JSON) で取ってきたいのですが、日本語が
文字化けしてしまいます。半日ググってみましたがわからずで、
誰か教えて下さい・・。

■ ビューの定義

def getdict(request):
tempdic = {u'名前': u'田中', u'年齢': 19}
return HttpResponse(unicode(tempdic))

■ ブラウザに返ってくる結果 → 化けてる

{u'\u540d\u524d': u'\u7530\u4e2d', u'\u5e74\u9f62': 19}

このときのレスポンスヘッダは「Content-Type text/html; charset=utf-8」。

(続きます)

740:nobodyさん
09/10/05 00:24:52
(続きです)

■ やってみたこと → すべて効果なし

1. apache起動用シェルに環境変数追加
export LANG=ja_JP.UTF-8
export LC_ALL=ja_JP.UTF-8

2. mod_python 用 location ディレクティブに変数追加
<Location "/">
...
SetEnv LANG ja_JP.UTF-8
SetEnv LC_ALL ja_JP.UTF-8
...

3. ソースに文字コード指定追加
# -*- coding: utf-8 -*-

4. sitecustomize.py に文字コード指定追加
/usr/lib/python2.5/site-packages/sitecustomize.py に、
import sys
sys.setdefaultencoding('utf-8')
を追加


741:nobodyさん
09/10/05 00:44:54
return HttpResponse(tempdic)



742:nobodyさん
09/10/05 02:54:45
unicode(tempdic)
化けてるんじゃなくてこれが原因だろ

743:739
09/10/05 11:52:56
試してみましたが、どうもうまくいきませんでした。
初心者ですみませんが、アドバイスいただければ助かります。

■ unicode()なしの場合
tempdic = {u'名前': u'田中', u'年齢': 19}
return HttpResponse(tempdic)

■ 結果

名前年齢

とだけ出力されます・・。(keyのみでvalueが表示されません)

■ serializer を使う場合
辞書の内容を明示的にjsonにしてみようと思いましたが、
こちらもうまくいきませんでした。

tempdic = {'名前': '田中', '年齢': 19}
json_serializer = serializers.get_serializer("json")()
json_serializer.serialize(tempdic, ensure_ascii=False, fields=(u'名前', u'年齢'))
return HttpResponse(tempdic)

■ 結果
エラーで「'str' object has no attribute '_meta'」となりました。

744:nobodyさん
09/10/05 13:12:40
同じく初心者だから、間違ってたら御免ですが
こんな感じじゃ駄目ですか

import json

何か設定・・・

print "Content-Type: text/plain"
print
#書き込まれたJSONを戻す
print json.write(tempdic)

745:743
09/10/05 13:43:56
たちどころにうまくいきました!!
昨日から一日中悩んでいたので超助かりました!!
ほんとにありがとうございます。

■ コード
def getlist(request):
templist = []
tempdic = {u'名前': u'田中', u'年齢': 19}
templist.append(tempdic)
templist.append(tempdic)
templist.append(tempdic)
return HttpResponse(json.write(templist))

■ 結果
[{"名前":"田中","年齢":19},{"名前":"田中","年齢":19},{"名前":"田中","年齢":19}]

746:nobodyさん
09/10/05 13:49:42
return HttpResponse(repr(templist).decode('unicode-escape'))

URLリンク(python.rdy.jp)


747:nobodyさん
09/10/05 13:50:44
>>739の段階では、文字化けはするもののちゃんとjson形式で返せてるんだよね?
単にブラウザにJSON返したいだけなら、下手にJSONのライブラリ使わないでそのまま文字コードを
化けないようにする方法を考えた方が良いと思うけど。

pythonでの文字コードの扱い方わかってますか?(もっと言うと、WEBでの文字コードの扱い方わかって
ますか?UNICODEエンコーディングとUTF-8エンコーディングは別物です)
URLリンク(www.python.jp)
↑のunicodeのところもう一度よく読んでみてください。

748:747
09/10/05 13:58:44
ありゃ解決済みか失礼

749:nobodyさん
09/10/05 14:15:37
お役に立ったようでなによりです

PythonもJSONも始めたばかりですが、なかなか面白いので
色々試行錯誤で試し中です

同じような方がいて、ちょっとうれしい

750:745
09/10/05 14:22:59
いろいろとご教示ありがとうございます。
実はweb/pythonの文字コードにはあまり慣れていなく、四苦八苦しています。
(いままでDBサーバ用に C とか iphone 用にObjective-C とか中心でした)
いただいたリンクも読ませていただきましたが、まだまだ基礎の理解が
足りないと認識しました。(勉強します)

いただいたコードも試してみましたが、2.x 系だと decode しても、
「u」は取れないんですね。3.x 系は違うみたいですが。。
いまは取り急ぎ、JSON ライブラリを使おうと思っています。

■ decode() する場合
tempdic = {u'名前': u'田中', u'年齢': 19}
templist.append(tempdic)
templist.append(tempdic)
return HttpResponse(repr(templist).decode('unicode-escape'))

結果:
[{u'名前': u'田中', u'年齢': 19}, {u'名前': u'田中', u'年齢': 19}]

■ json ライブラリを使う場合
tempdic = {u'名前': u'田中', u'年齢': 19}
templist.append(tempdic)
templist.append(tempdic)
return HttpResponse(json.write(templist))

結果:
[{"名前":"田中","年齢":19},{"名前":"田中","年齢":19}]

751:750
09/10/05 14:24:32
>>749
ほんとありがとうございます!!

752:nobodyさん
09/10/05 14:48:48
そもそも HttpResponse の使いかたを間違っているような気がするのは漏れだけ?

753:nobodyさん
09/10/05 14:51:43
>>743
>■ serializer を使う場合
>辞書の内容を明示的にjsonにしてみようと思いましたが、
>こちらもうまくいきませんでした。
>
>tempdic = {'名前': '田中', '年齢': 19}

なんでこの場合だけuつけなかったの?

754:743
09/10/05 14:57:41
> そもそも HttpResponse の使いかたを間違っているような気がするのは漏れだけ?

そ、そうだったんですか。
で、できれば詳しくお願いしたいです。

> >tempdic = {'名前': '田中', '年齢': 19}
> なんでこの場合だけuつけなかったの?

すみません。いろんなパターンで試していたので、
書きこんだときのコピペミスでした。。。
結果は同じでした。('unicode' object has no attribute '_meta')

755:nobodyさん
09/10/06 07:14:12
adminでInline使ったら、formset._raw_dataがないって怒られるようになった…
ボスケテ…
なんかで環境ミスったかなぁ…

756:nobodyさん
09/10/07 19:57:04
from django.utils import simplejson
tempdic = {u'名前': u'田中', u'年齢': 19}
return HttpResponse(
simplejson.dumps(tempdic, ensure_ascii=False),
mimetype='application/json')

みたいなんじゃダメなん?

757:nobodyさん
09/10/22 09:35:55 0wcJiBNp
ウェブアプリケーションじゃなくて普通のPythonプログラムで
DjangoのO/Rマッパーだけ流用したいのですが,可能ですか?

import django.db.models

class AAA(django.db.models.Model):
    a = django.db.models.IntegerField()

ダメもとでこんな風に書いてみたところ

 File "C:\Python26\lib\site-packages\django\db\models\base.py", line 52, in __new__
    kwargs = {"app_label": model_module.__name__.split(?.?)[-2]}

と怒られたのですが, app_label って settings.py の内容から
抽出されたりしているのでしょうか? app_label ってなんぞ・・・

758:nobodyさん
09/10/22 11:06:15 xPFAZg5G
可能

759:nobodyさん
09/10/22 11:11:08
PylonsはモデルにデフォルトではSQLAlchemyというO/Rマッパーを使用します。
SQLAlchemyのデフォルトデータベースはSQLiteです。これらは変更可能ですが、ここではこのまま使用します。

from pylons import config
from sqlalchemy import Column, MetaData, Table, ForegnKey, types
from sqlalchemy.orm import mapper
from sqlalchemy.orm import scoped_session, sessionmaker
 
Session session = scoped_session(sessionmaker(autoflush=True, transactional=True, bind=config['pylons.g'].sa_engine))
metadata = MetaData()
 
polls_table = Table('polls', metadata,
        Column('id', types.Integer, primary_key=True),
        Column('question', types.Unicode(200)),
        Column('pub_date', types.DateTime)
)
 
choices_table = Table('choices', metadata,
        Column('id', types.Integer, primary_key=True),
        Column('poll', types.Integer, ForegnKey('polls.id')),
        Column('choice', types.Unicode(200)),
        Column('votes', types.Integer)
)
 
class Poll(object):
    pass
 
class Choice(object):
    pass
 
mapper(Poll, polls_table)
mapper(Choice, choices_table)

760:nobodyさん
09/10/22 13:33:53
>>757
settings.py書いて、環境変数に設定しないと、使えなかったと思う。

失敗した時って、DBの設定はどうしていたの?

761:757
09/10/22 14:26:06 0wcJiBNp
第一関門クリアしました.
app_label はモジュールのフルパスの下から二つ目を
勝手に取ってきてくれるのか.モデル(のインスタンス)
はできたっぽい.

1)settings.py のDBに関する内容はこれ

DATABASE_ENGINE = ?sqlite3?           # ?postgresql_psycopg2?, ?postgresql?, ?mysql?, ?sqlite3? or ?ado_mssql?.
DATABASE_NAME = ?testdb?             # Or path to database file if using sqlite3.

2)application.pyの内容は

import DjangoSample.model
aaa = DjangoSample.model.AAA()
aaa.num = 5
aaa.save()

3)model.py の内容は
import django.db.models

class AAA(django.db.models.Model):
    num = django.db.models.IntegerField()

これらを DjangoSample っていうディレクトリに入れて
空の __init__.py 作って application.py を実行.
環境変数は DJANGO_SETTINGS_MODULE = DjangoSample.settings
これで testdb つーファイルもできたけど,
aaa.save() のところで execute が実行できなかった.
カーソルが開けてないのかな?先は長そうだ.

762:757
09/10/22 14:26:53 0wcJiBNp
SQLAlchemy が有名なのか.
Google App Engine で遊んでて,そのまま
モデルとか流用したいなぁと思ったので
Django の O/R マッパーが似てるなとおもって.

763:757
09/10/22 14:30:48 0wcJiBNp
SQLiteのファイルはできてたけど 0 バイトって・・・
PyDev でステップ実行すると
sqlite3.OperationalError: no such table: DjangoSample_aaa
ということなのでテーブルができてない.

Djangoのスタートアップを模倣しないとだめなのかな?
Djangoはテンプレート機能だけ拝借して使ったことが
あったので,次は O/R マッパーだけ拝借したい.

764:757
09/10/22 14:34:41
django-admin.py syncdb とかやらねばならなかったのか・・・?
日本語のマニュアルがみつからねぇ.
ていうか 0.xx のばっか見つかる.

765:757
09/10/22 14:55:43
できたっぽい
まずあほなことに models.py を間違えて model.py にしてた.
次に INSTALLED_APPS に "DjangoSample" を入れてなかった(アホ).
そのうえで syncdb を直接呼んでみた.

import DjangoSample.model
import django.core.management
django.core.management.execute_from_command_line(["abcde", "syncdb"])
aaa = DjangoSample.model.AAA()
aaa.num = 5
aaa.save()

ちゃんと sqlite のデータベースにテーブルが作られて
レコードが挿入されたっぽい.

さて,このままアプリケーションを書いたとして,
py2exe なんかで固めたら django が丸ごと含まれるのかなぁ.
素直に SQLAlchemy とかの O/R マッパー使うべき?
って聞かれても「すきにすれば?」だよな・・

766:nobodyさん
09/10/22 15:06:29
>py2exe なんかで固めたら django が丸ごと含まれるのかなぁ.

「丸ごと含まれる」 ではなくて
django の場合ダイナミックに生成されるクラスが
参照しているものを py2exe で追いかけ切れないから
固めるときに漏れが出来るんじゃないかな
で結局実行するまで判らない w
そうならないように django 丸ごと含めるしかなくなると


767:757
09/10/22 15:47:16
import DjangoSample.model
import django.core.management
django.core.management.execute_from_command_line(["abcde", "syncdb"])
aaa = DjangoSample.models.AAA()
aaa.num = 5
aaa.save()
django.core.management.execute_from_command_line(["abcde", "dumpdata"])

最後にダンプしてみたらレコード入ってた.
こんな使い方するのはどうなんだろう.

768:nobodyさん
09/10/22 17:23:45
aaa = DjangoSample.models.AAA(num=5)
aaa.put()
すきにすれば?

769:757
09/10/22 18:08:27
calling save() would save the entity directly to the datastore
って書いてあったんだけど,save()は直ちにコミットする,
put()はそうじゃないんだっけ?

それにしても
django.core.management.execute_from_command_line
を直接呼び出すのは結構強力だなぁ
dumpdata もデフォルトでは扱いやすい JSON でシリアライズされるし.


770:nobodyさん
09/10/22 18:50:19
URLリンク(code.djangoproject.com)
モデルが変わった時どうすんだ?
モデルのバージョンを埋め込んでおいて何とか対応か?
と思ったらこんなプランが

771:nobodyさん
09/10/31 13:42:35
ダンジョー

772:nobodyさん
09/10/31 19:07:59
さっそく質問です
djangoはWindows7でも動作しますか?

773:nobodyさん
09/10/31 20:00:50
さっそく

774:nobodyさん
09/10/31 22:34:53
うごくみたい

775:nobodyさん
09/10/31 22:37:20
ダンジョーは動くけど
ドジャンゴは動かないこともある

776:nobodyさん
09/11/01 09:08:05
ドジャンゴプロジェクト落ちすぎなんだけど。
ダンジョーって不安定なんですね。

777:nobodyさん
09/11/06 19:13:21
ドジャンゴは不安定だが
ダンジョーは不安定でないこともある。

778:nobodyさん
09/11/08 20:32:22
やんぎょ

779:nobodyさん
09/11/08 22:21:18
おdjangoぉ?、おdjangoぉ?

780:nobodyさん
09/11/09 02:06:13 AkWowcrV
さる乙

781:nobodyさん
09/11/17 16:09:39
web.pyと比べるととどうなの?

782:nobodyさん
09/11/17 16:52:41
そりゃweb.pyと比べると親切というか重量級というか。

web.pyみたいにベースだけ作ってあってあとはお好きにどうぞ
っていうのが欲しいならweb.pyでいいんではないかと。

Djangoはweb.pyに比べると至れり尽せりなので、その流儀を
覚えて使いたい人向き、かな。

783:nobodyさん
09/11/17 17:52:02
妙に重いとか不安定とかいうのは、あくまで噂?

784:nobodyさん
09/11/17 18:22:55
お遊びの小規模のものしか経験ないけど、必要以上に重いっていうのは今のところないな
大規模の実績もあるし、問題ないと思う。

妙に重くて不安定なのは公式サイトの話じゃない?

785:nobodyさん
09/11/17 18:27:14
wsgiがちょうどいい

786:nobodyさん
09/11/17 18:35:10
>>783
同じことをやらせてweb.pyより重いと感じたことはないな。

だけど、web.pyではSQL直書き、DjangoではORマッパで構築した
サイトとかだったら、そりゃDBとのやりとりを最適化できる分
web.pyの方が軽い可能性はあるわな。テンプレートエンジンとか
にしてもそう。同じことをやらせたら同程度だけど、手間を
かけてゴリゴリやるならweb.pyの方が早いサイトを作れるかも
しれない。

その辺はフレームワークに何を期待しているのかによるな。

787:nobodyさん
09/11/17 19:03:31
サイトがよく落ちてるのはDjango製だから?

788:nobodyさん
09/11/17 23:49:49
yes we can

789:nobodyさん
09/11/18 15:12:22
>>787
日本語公式が落ちてるのは安い共用鯖@海外に置いてるからってはなしだけど

790:nobodyさん
09/11/18 15:19:22
app engineに移動しちゃえ

791:nobodyさん
09/11/18 15:47:19
日本のドジャンゴはワープアなのか

792:nobodyさん
09/11/21 20:57:25
また公式がテンポってる\(^o^)/

793:nobodyさん
09/11/22 15:34:15
>>791
はいはい、じゃんご、じゃんご

794:nobodyさん
09/11/26 09:35:59
.

795:nobodyさん
09/11/26 15:12:49
tanasinn

796:nobodyさん
09/12/04 00:19:27
この前立ったばかりのPylonsスレまた落ちたな
これで何回目だろ

797:nobodyさん
09/12/05 09:31:49
結局Django以外は駆逐されたの?

798:nobodyさん
09/12/05 11:33:58
python.jp は Zope

799:nobodyさん
09/12/05 11:51:26
WebGLみたいなWebで3次元グラフィックスを扱う仕組みはないのでしょうか
firefoxかIEでしか動かないというのでもいいのですが


800:nobodyさん
09/12/05 12:12:51
目新しいところだとO3D
URLリンク(tools.google.com)

・・・O3Dってバカボンのパパの横顔にみえて仕方ないんだが

801:nobodyさん
09/12/05 17:50:00
ぞぺ

802:nobodyさん
09/12/05 21:43:08
>>800
なんだ、Linux用は出てないのか。
googleはいつもながらゴミだな。

803:nobodyさん
09/12/05 22:31:58 weCeOoD+
自分でビルドもできない初心者避けにはいい

804:nobodyさん
09/12/16 19:24:05
wsgiで書いておけば、後で使いまわししやすいってことか
しかしpython限定だから他の言語からもwsgi使える方法あるといいのだけど

805:nobodyさん
09/12/17 00:14:20
なんでや

806:nobodyさん
09/12/17 12:02:28
weblocksがメインでpythonは補助で使ってる

807:nobodyさん
09/12/17 13:38:52
wsgi=薄着

808:nobodyさん
09/12/17 14:17:47 ZNCdoVFh
テンプレートタグのforの中で、複数の配列を
参照したい場合はどうしたら良いんですか?

例えば以下の様なデータをテンプレートに渡したとして、
data = {arr1 = ['a', 'b', 'c'], arr2 = [0, 1, 2]}

以下のようにarr1のループ中にarr2にアクセスしたいんです。
{% for item in arr1 %}
{{ item }}, {{ arr2[forloop.count0]}}
{% endfor %}
もちろんarr2[forloop.count0]は構文エラーになってしまいます。
arr2.forloop.count0等も上手く動作しません。

何か方法はありませんでしょうか?


809:808
09/12/17 14:20:11 ZNCdoVFh
すみません、dataは以下の間違いです。
data = {"arr1":['a', 'b', 'c'], "arr2":[0, 1, 2]}

810:nobodyさん
09/12/17 22:07:12
ありません

811:nobodyさん
09/12/19 23:54:02
count0じゃなくてcounter0ではいけませんか?
あとは、
arr1 = ['a', 'b', 'c']
arr2 = [0,1,2]
map(lambda x,y:{"arr1":x,"arr2":y},arr1,arr2)
な感じでまとめて、forで回すとか。
もっと良い方法がある気がします。

812:nobodyさん
09/12/20 03:29:18
withを代入がわりに使う

813:nobodyさん
09/12/20 12:28:51
for kv in all.iteritems
kv.0
for p in kv.1
p


814:nobodyさん
09/12/20 13:28:18
もう一言二言足すだけでわかりやすくなるのにもったいない

815:nobodyさん
09/12/20 18:07:03
めんどくさい;;

816:808
09/12/21 01:57:25 HBiCc+wV
みなさん、ありがとうございます。
array.0のような形式でアクセスは出来るのですが、
index = 0
array.indexという形ではアクセスできなかったので、
カスタムフィルタを作って対応しました。
{{ array|array_index:val }} のように array[val]にアクセスしています。

若干見通しが悪いのですが。。。

817:nobodyさん
09/12/25 20:23:38
漏れも似たような結論になったな
結局 django のテンプレでは hash は使えない
違うテンプレエンジン使うと幸せになれる
漏れは Tempita を使ってる

818:nobodyさん
10/01/16 20:05:31
  /   /::// : : : : : : : i: : : ∧\: : : : :∧: :\ : : : : : : : : : ヽ.: : :|ム: : : : : : : : : : :
  /   /://.: : : : : : :i : |: : : : ∧: ヘ: : : :∧: ::ム._: : : : : : : : :.l: : :|ム!: : : : : : : : : :
. /     / .|.: : : : : : : |: :ム、: : ∧.ヘ ><´ ̄\ヘ`,ハ: : ム、 ハ: : |ム!: : : : : : : : : :
     ,'. |: : :i: : :i: : ハ,斗―.、: :∧ ヘ r',ィ==寸ュ、_,ハ: : i: |: : |: : |ム!: : : : : : : : : :
     i  | :|: i : : i: : :ヘ、〉zュ、\::ヘ. .\ '´ f⌒付ハヘ〉!|: |: |: : 「.ヽ!ム!: : : : : : : : : :
     |  |: |: i : : i: : : : r{.「⌒ヽ \ヘ. ` .kr'...::i:::::!′|: |: | : fい lム!: : : : : : : : : : :
     |  .| ∧ヘ: : :ヘ: : : N kr'::ム  ヽ   Vし'ク;ソ  .|: |: |: /  .メム!: : : : : : : : : : :
.        N ヽ \: :\:`ヽ. Vし!      `ー "   ノ ル' / |/ Nム: : : : : : : : : : :
.       '.   \ \: :\∧ゝノ.              . |: /.i .|.  | Vム: : : : : : : : : :
.           \|丶: : ∧.  ` __       ,イ レi i. |  .| i.Nム: : : : : : : : : :
                |: :i: : 「`ヽ.   ヽ )     /  | i i. |  .| i.|. Vム: : : : : : : :
                |: :i: : |  .,≧、       /    | i i. |  .| i.|  Vム: : : : : : : :
            -‐-、j: :i: :i.|  /   }  ` rュ-1´    ,ィ| i i .L__ | i.|   Vム: : : : : : :
.          {    ヽi i.|‐/  .ノ_,ィj .>!  r<´ | i i .! `ヽ L__   Vム: : : : : :
          `ヾ.  └-イ  /   / ト、_}-{_ァ|.  | i i | 、丶ヽy'¨ ̄`Vム__: : : :  受験生の皆さん
          / | `ー-‐'´ ̄ ̄`Y. .〈. ノ≧{:::{≦.、 | i i |. \/     }ム}. 〉  明日のセンター試験
.         /.  |、 、____,斗-!、/.::/:/:/|「|:∧:::〉| i i |、 >'      ./ム! /   頑張って下さい
         {   |          ノ―〈/::/.:||::!:::::V. | i i |/       ./ム! /

819:nobodyさん
10/01/26 21:21:41
都内とかで初心者向け勉強会とか無いかな...

820:nobodyさん
10/01/29 19:12:02
>>819
勉強会がないなら、開催すればいいじゃない。
ていうかやろうぜ!!

821:nobodyさん
10/01/29 21:29:37
何を勉強するんだ?

822:nobodyさん
10/01/29 22:20:11
勉強会って、開発しか脳がない人とか、土日に予定がない非モテのためにあるんでしょ?

823:nobodyさん
10/01/30 00:15:20
勉強会(女性歓迎)
なら逝く

824:nobodyさん
10/01/30 10:08:14
ダンジョーのひとたちの周りに女性は集まってこないよ。

825:nobodyさん
10/01/30 15:37:55
主にはてなの人達のための会だろ

826:nobodyさん
10/01/30 17:54:46
研究会なら面白いな。
使い回せる定番のパターンとか、
密かに使える内部モジュールとか。

827:nobodyさん
10/02/02 17:06:16 HbFWeamc


828:nobodyさん
10/02/09 08:45:20
よくネットのサンプルなどでmodels.pyに
def __unicode__(self):
と言う関数が書かれているのですが
これはどんな働きをして返り値は何を指定するのでしょうか?


829:nobodyさん
10/02/09 11:19:56
>>828
管理ページ等で表示したときの表記みたいな感じ
def __unicode__(self):
  return "%s: %s" % (self.id, self.name)

組み込みの管理画面使わないのなら気にする必要ないかも

830:828
10/02/09 13:14:05
>>829
成る程。ありがとうございます。
まさに管理画面の表示でエラーでした。
数字や日付はu付けて返すんですね。


831:nobodyさん
10/02/09 15:16:00
def __str__(self):


832:nobodyさん
10/02/13 05:25:21
>>828
$ ./manage.py shell
from app.models import ExampleModel
ExampleModel.objects.all()
クエリもちょっとだけ見やすくなる

というかPythonの仕様な気がするような

833:nobodyさん
10/02/13 05:58:19
詳しい働きは、django.db.models.base.Modelを見ると分かるかもしれない。
def __str__(self):
def __repr__(self):
def __unicode__(self):
が連動してるみたい。

でも気にしなくてもサイトは作れますよ。

834:832
10/02/13 06:00:27
あと、このへんを。
URLリンク(djangoproject.jp)
URLリンク(www.python.jp)

勉強になりました。

835:nobodyさん
10/03/03 15:58:51 1p2L7k14
復活

836:828
10/03/03 16:12:18
>>830-834
返事が遅くなって済みません。アドバイス有難うございました。
その後、models.pyのクラスに自前のメソッド(簡単な演算)を追加して
admin.py上では動作確認できたのですがメソッドに引数を使用して
それをテンプレート上で使う場合にはテンプレートにどのように
記述すれば良いのでしょうか?
自前のメソッドの時には引数を渡さない形に直したのですが
どうもそれも不自然だなと。

837:nobodyさん
10/03/03 18:27:11
P<>

838:nobodyさん
10/03/17 09:24:56 yaUxji8w
models.py

list_display
または
short_description
で記述した項目名の先頭の文字が英字だった場合
実際にweb上に表示されるときに大文字に変換されてしまうのですが
これを抑制するにはどうすればよろしいでしょうか?

839:nobodyさん
10/03/17 11:51:57
admin管理画面でログインしたまま何もせず一定時間が経ったら
自動でログアウトもしくは処理を継続出来ないようにする方法はありますか?

デフォルトだとログアウトせずにブラウザ閉じてしばらくしてあらたに
ブラウザ開くとログインしなくても続けられるって変じゃないかと・・・

840:nobodyさん
10/03/17 12:56:10
>>839
DBのセッションデータを一定時間でタイムアウト処理するCRONを動かせばいいんじゃないかな

841:nobodyさん
10/03/17 13:07:49
>>839
>デフォルトだとログアウトせずにブラウザ閉じてしばらくしてあらたに
>ブラウザ開くとログインしなくても続けられるって変じゃないかと・・・

これは、SESSION_EXPIRE_AT_BROWSER_CLOSEを使えばいけると思います。
URLリンク(djangoproject.jp)
↑を参照したら詳しくのってますよ。

出来たら教えてね。

842:nobodyさん
10/03/17 16:59:10
>>838
adminのページでそう表示されてしまうと仮定して・・・

adminのテンプレートでcapfirstフィルターが使われているからだと思います。
なので、自分でテンプレート用意するしかないです。
adminのテンプレートはオーバーライドできるけど、ちょっとややこしいっす。
URLリンク(djangoproject.jp)

843:nobodyさん
10/03/18 00:49:13
verbose name だか label だかで明示しれ。

844:nobodyさん
10/03/18 21:50:26 F9NzPMLl
>>841
ありがとうございます

845:nobodyさん
10/03/19 02:45:28
>>842-843
ありがとうございました!!!

846:nobodyさん
10/03/20 05:57:13
タケルンバがPHP始めるからpython没落決定wwwwお前ら乙wwwwwwww

847:nobodyさん
10/03/20 09:21:42
タケルンバがなんのことか知らんが、間違いなくpythonには影響ねえwww

848:nobodyさん
10/03/20 13:15:43
PHPはリタイアした老人に人がある言語なんだぜ

849:nobodyさん
10/03/20 15:01:26
なんでdjangoスレなんかに・・・と思ってスルーできなかった。。

850:nobodyさん
10/03/21 02:43:16
>>848
にほんごでおk

851:nobodyさん
10/04/01 16:46:50
東京キャビネットのpythonインターフェイスはまだか

852:nobodyさん
10/04/01 20:21:34
探したのかよ

853:nobodyさん
10/04/10 14:21:16 25pG9A3a
rails経験者なんですがdjango/pythonにも手出してみようかと思ってます。
URLリンク(kingyo-bachi.blogspot.com)
ここ見るとdjangoはmigration機能がないみたいですが、実装されないんですかねぇ?

あとrailsでいうscript/console相当のものってdjangoにあります?
これも便利なんでぜひあって欲しいんだけれど。

854:nobodyさん
10/04/10 14:23:29
rorに帰れ

855:nobodyさん
10/04/10 15:14:25
migrationは詳しくないですが、開発用設定ファイル用意してimportして、開発用の環境と本番用で分けることはできます。
script/consoleってのもどんなものかわからないですが、djangoでいうshellのことですかね。

色々自由にできるんですが、railsを想定しながらdjango使うと、合わないと思います。なんとなく。

856:nobodyさん
10/04/10 16:00:41
>>853
そのサイトのひと
Google App Engine と Django をほぼ同一視しているところが痛い

857:nobodyさん
10/04/10 22:07:33
ブログなんだから、それでコメントしてこいよw

858:nobodyさん
10/04/14 16:44:25
    ヘ⌒ヽフ
   ( ・ω・) dd
   / ~つと)

859:nobodyさん
10/05/04 23:37:57 I9g4Da9Z
あげ

860:nobodyさん
10/05/05 03:42:21
test

861:nobodyさん
10/05/05 10:17:18 ytrR8EaM
    ┌─┐
    │●│
    └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘      おっぱい!おっぱい!


862:nobodyさん
10/05/07 01:24:28 nl8gbG2z
web.pyのスレマダー?

863:nobodyさん
10/05/07 03:09:35
>>862
前あったけど落ちたお

864:nobodyさん
10/05/07 03:18:03
>>862
落ちたけど
【Python】web2py【Framework】
スレリンク(php板)

865:nobodyさん
10/05/14 15:49:36
DBから引っ張ってきた以下の様なデータをツリー表示するにはどのようにすればよいですかの?

[カテゴリ] [名前]
野菜 キャベツ
野菜 にんじん
果物 りんご
果物 オレンジ
果物 ぶどう
穀物 米
穀物 麦


こんな風に表示したい↓↓

野菜
  キャベツ
  にんじn
果物
  りんご
  オレンジ
  ぶどう
穀物
  米
  麦


データはカテゴリでソートしてあります


866:865
10/05/14 16:13:07
自己解決しちゃった。
ifchangedなんてあるのね。
読んでみるもんだな、リファレンス。

867:865
10/05/14 16:49:24
regroupなんてのもあるのか。
読んでみるもんだな、リファレンス。

868:nobodyさん
10/06/08 18:45:41
例えばDjangoでブログを作るとして、
ひとつのページに、投稿日時でソートしたものと
コメント数でソートしたものを二つ並べて表示するには
views.pyとtemplateをどのように書けばいいんだろう。。。

viewで二つリターンすることはできるんだろうか?
引数で制御するんだろうか?
でも引数を一つのページ内でどうやって切り替えるんだろう??

初歩的な質問で申し訳ないですが、教えていただけませんでしょうか。
よろしくお願いします。


869:nobodyさん
10/06/08 19:05:31
単純に2通りの検索結果をそれぞれ変数に入れて
それをviewに渡す
で、view内でfor文で使って表示する

870:868
10/06/09 03:00:45
>>869
ありがとうございます。
ですが、すみません。分かりませんでしたTT

def index(request):
#2通りの検索結果をそれぞれ変数にいれます。
blog_list_datetime = blog_data.objects.all().order_by('-add_datetime')[:50]
blog_list_comments = blog_data.objects.all().order_by('-comments')[:50]

#いまはこのようにリターンしてるのですが、view内でforを使って表示するとは、どのようにやるのでしょうか。
return object_list(request, blog_list_datetime, paginate_by=10, template_name='blog/index.html')

すみませんが、よろしくお願いします。

871:nobodyさん
10/06/09 08:43:16
根本的な勘違いをしている

872:868
10/06/09 09:19:34
>>871
う、、
もしよろしければご教授いただけないでしょうか。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4539日前に更新/186 KB
担当:undef