我使用的是django 1.7和python 3.4 我试图实现跟踪和取消跟踪到我的网站用户,但我卡住了。 网址.py你知道吗
url(r'^user/', include('myuserprofile.urls'),),
你知道吗myuserprofile.url.py你知道吗
urlpatterns = patterns('',
url(r'^(?P<slug>[^/]+)/$', 'myuserprofile.views.profile', name='profile'),
url(r'^(?P<slug>[^/]+)/follow/$', 'myuserprofile.views.follow', name='follow'),
url(r'^(?P<slug>[^/]+)/unfollow/$', 'myuserprofile.views.unfollow', name='unfollow'),
你知道吗视图.py你知道吗
@login_required
def follow(request):
myuser = request.user.id
if request.method == 'POST':
to_user = MyUser.objects.get(id=request.POST['to_user'])
rel, created = Relationship.objects.get_or_create(
from_user=myuser.myuserprofile,
to_user=to_user,
defaults={'status': 'following'}
)
else:
return HttpResponseRedirect(reverse('/'))
if not created:
rel.status = 'following'
rel.save()
模板部分是这样的:
<form action="{% if relationship.status == 'F' %}{% url 'unfollow' %}{% else %}{% url 'follow' %}{% endif %}" method="POST">
找不到参数为“()”且关键字参数为“{}”的“follow”的反转。尝试了1个模式:['user/(?P[^/]+)/跟/$']
你需要使用namespaced URL。 在您的例子中,URL
unfollow
应该被引用为<app_name>:unfollow
。你知道吗看看这个Here
你必须使用
URL namespaces
这是我的
民意测验/网址.py你知道吗
所以我们有类似的用途
您应该添加要跟随/取消跟随的用户的用户名:
将
urls.py
更改为:视图的签名应该接受
username
参数:相关问题 更多 >
编程相关推荐