2011-12-25 3 views
1

В моем urls.py файл, у меня есть'' STR не отозваны в Django шаблон URL

urlpatterns = patterns('', 
         (r'^$',home_page), 
         #(r'^'+main_cagetory_url_string+'$','home_page'), 
         (r'^(?:cam_sanh|buoi_da_xanh|cam_da_xanh)$','home_page'), 
         (r'^admin/', include(admin.site.urls)),) 

Я хочу использовать эту схему для доступа cam_sanh, buoi_da_xanh, cam_da_xanh страницу. Но я получаю сообщение об ошибке:

'str' object is not callable 

Как я могу исправить эту ошибку?

ответ

2

Для этой строки, конкретно, (r'^(?:cam_sanh|buoi_da_xanh|cam_da_xanh)$','home_page'),, второй элемент кортежа должен быть функцией обратного вызова, а не строкой.

Это должно исправить:

urlpatterns = patterns('', 
    (r'^$',home_page), 
    (r'^(?:cam_sanh|buoi_da_xanh|cam_da_xanh)$',home_page), 
    (r'^admin/', include(admin.site.urls)), 
) 
4

Django попытается для поиска мнение, используя строку, которую Вы предоставили, однако, необходимо указать полный путь просмотра, ака, «my_project.view_name»

В качестве альтернативы вы можете сделать, как предложил Филип, и дать ему имя вида в качестве обратного вызова, но затем вам нужно импортировать представление в файл urls.py.