質問
OK。 Djangoでフォームを作成しようとする結び目に縛られ、新しいレコードに関するデータを入力したり、既存のレコードを更新したりできます。
このモデルがあれば、誰でもフォーム、ビュー、URLに適切なものをスケッチできますか? :
class Person(models.Model) :
name = models.CharField()
age = models.IntegerField()
別のページで、個人の新しいインスタンスを作成するか、既存のインスタンスを編集できるフォームへのリンクが必要です。
私が混乱しているもの:
-
urls.pyには、idを渡さずに空白のフォームにリンクする行と、idを渡すときにフォームにリンクする行の2行が必要ですか?
-
インスタンスが保存される前にフォームを受け取るビューと、インスタンスが存在するときのビューの2つの異なるビューが必要ですか?
views.pyの1つのリンクと1つの関数でこれが行われたのは確かですが、もう正しく取得できないようです。動作していないように見えるのは、IDを持つURLの両方を送信しようとしている
/edit/id
およびなし
/edit/
idのデフォルト引数を持つ同じビュー関数へ
def edit(request,id=0) :
blah
では、これを行う正しい方法は何ですか?
乾杯。 phil
解決
urlに含まれている場合はid変数をキャプチャするようにurls.pyを設定し、views.pyでnullを確認します
urls.pyは次のようになります。
(r'^edit/(?P<person_id>\w+)/
次に、views.pyで:
def edit_person(person_id=None):
if(person_id): #show populated form
else: # show empty form
, 'mysite.myapp.views.edit_person'),
次に、views.pyで:
<*>所属していません StackOverflow