如何从另一个应用程序调用处理程序?

时间:2014-10-31 11:30:00

标签: python django-cms

请帮助解决问题。

使用django-cms。创建了一个单独的应用程序app_feedback。

views.py:

def feedback(request):
    '''
    TODO: form handler. post data
    '''
    print('fffed')  

    return 

urls.py:

urlpatterns = patterns('app_feedback',
    url(r'^/$', 'views.feedback', name='feedback'),

)

然后基本上模板django-cms形成:

<form class="feedback_form common_form" id="feedbackForm" action="/feedback/" method="POST">
    {% csrf_token %}
    <input id="id_author" maxlength="100" name="author" type="text">
    <input class="btn btn-default" id="submitFeedback" type="submit" value="Отправить">
</form>

urls.py:

urlpatterns = i18n_patterns('',
    url(r'^admin/', include(admin.site.urls)),  # NOQA
    url(r'^sitemap\.xml$', 'django.contrib.sitemaps.views.sitemap',
        {'sitemaps': {'cmspages': CMSSitemap}}),
    url(r'feedback/', include('app_feedback.urls')),
    url(r'^', include('cms.urls')),
)

问题是在浏览器地址中加载表单后:

http://localhost:8000/ru/feedback/

控制台显示:

Not Found: /feedback/
[31/Oct/2014 14:21:39] "POST /feedback/ HTTP/1.1" 302 0
Not Found: /ru/feedback/
[31/Oct/2014 14:21:39] "GET /ru/feedback/ HTTP/1.1" 404 3113

日志显示:

Not Found: /ru/feedback/

1 个答案:

答案 0 :(得分:1)

包含的网址中的正则表达式应该只是r'^$',而不是斜杠。