不确定为什么这与urls.py中的任何网址都不匹配。我用正则表达式检查器检查了它应该是正确的。
urls.py:
url(r'^toggle_fave/\?post_id=(?P<post_id>\d+)$', 'core.views.toggle_fave', name="toggle_fave"),
示例网址:
http://localhost:8000/toggle_fave/?post_id=7
选中使用this简单正则表达式进行检查。似乎是对的。有什么想法吗?
谢谢!
答案 0 :(得分:4)
urlconf不用于匹配您网址的request.GET参数。你在视图中这样做。
你要么你的网址看起来像这样:
http://localhost:8000/toggle_fave/7/
并使用以下方式匹配:
url(r'^toggle_fave/(?P<post_id>\d+)/$', 'core.views.toggle_fave', name="toggle_fave"),
您的观点如下:
def toggle_fave(request, post_id):
post = get_object_or_404(Post, pk=post_id)
...
或
http://localhost:8000/toggle_fave/?post_id=7
和你的urls.py:
url(r'^toggle_fave/$', 'core.views.toggle_fave', name="toggle_fave"),
和views.py:
def toggle_fave(request):
post_id = request.GET.get('post_id', '')
if post_id:
post = get_object_or_404(Post, pk=post_id)
...