Dans mon projet Django, mon module url.py ressemble à ceci:Django url.py sans noms de méthode
urlpatterns = patterns('',
(r'^$', 'web.views.home.index'),
(r'^home/index', 'web.views.home.index'),
(r'^home/login', 'web.views.home.login'),
(r'^home/logout', 'web.views.home.logout'),
(r'^home/register', 'web.views.home.register'),
)
est-il un moyen de simplifier pour que je ne ai pas besoin d'une entrée pour chaque méthode à mon avis? Quelque chose comme ça serait bien:
urlpatterns = patterns('',
(r'^$', 'web.views.home.index'),
(r'^home/(?<method_name>.*)', 'web.views.home.(?P=method_name)'),
)
MISE À JOUR
Maintenant que je sais au moins une façon de faire, est ce genre de chose recommandée? Ou y a-t-il une bonne raison de créer explicitement un mapping pour chaque méthode individuelle?
Nice! Je suppose que pour être sûr, je devrais vérifier pour une sorte de décorateur personnalisé (@public ou @web_method ou quelque chose). – MikeWyatt
'dir (amodule)' contiendra des noms spéciaux (avec double trait de soulignement avant et après) tels que '__file__',' __name__' etc - vous voulez certainement éviter _those _! -). Un simple décorateur peut construire explicitement la liste des vues intéressantes - recommandé. –