0

ジェネリック入力を作成したい複数のモデルがあります。私の最初のパスは2つの別々のURLを使用しました:

url(r'^create_actor/$, create_object, {'model': Actor, 'template_name': 'create.html', 'post_save_redirect': '/library/', 'extra_context': {'func': 'Create Actor'}, 'login_required': 'True'}),

url(r'^create_movie/$, create_object, {'model': Movie, 'template_name': 'create.html', 'post_save_redirect': '/library/', 'extra_context': {'func': 'Create Movie'}, 'login_required': 'True'}),

これらを1つのステートメントにまとめた方がはるかに良いと思います。行が変数に基づいてモデルを動的に選択するように、URLからパラメーターに変数を渡す方法がわかりません。

4

2 に答える 2

0
from django.db import models

url(r'^create_(?P<modelname>\w+)/$', generic_add),

def generic_add(request, modelname):
    mdlnm_model = models.get_model('catalog',modelname)
    return create_object(request,
       model = mdlnm_model,
       template_name = 'create.html',
       post_save_redirect = '/library/',
       login_required = 'True'
    )
于 2010-03-03T19:28:59.340 に答える
0

私はこれを試していませんが、変数を使用して create_ の後に値をキャプチャし、それを create_object ビューに自動的に送信できます。

url(r'url(r'^create_(?P<model>\w+)/$, create_object, {'template_name': 'create.html', 'post_save_redirect': '/library/', 'login_required': 'True'})

/creat_actor/ ではなく /create_Actor/ としてこの URL にアクセスする必要があります。extra_context キーを機能させる方法がわかりません。お役に立てれば。

于 2010-03-02T18:05:48.413 に答える