Python django活动流,我走错路了吗?
我正在使用django活动流跟踪/取消跟踪并显示跟踪/取消跟踪的内容。但作为一个悬而未决的问题,文件似乎含糊不清。如果有人能找出我做错了什么,我将不胜感激。这是文件 以下是我采取的步骤Python django活动流,我走错路了吗?,python,django,Python,Django,我正在使用django活动流跟踪/取消跟踪并显示跟踪/取消跟踪的内容。但作为一个悬而未决的问题,文件似乎含糊不清。如果有人能找出我做错了什么,我将不胜感激。这是文件 以下是我采取的步骤 pip install django-activity-stream 然后在我的设置/中添加actstream,并设置actstream的url。 对于我还包括的url url(r'^unfollow/(?P<category_name_url>\w+)/', 'main.views.unfollo
pip install django-activity-stream
然后在我的设置/中添加actstream,并设置actstream的url。
对于我还包括的url
url(r'^unfollow/(?P<category_name_url>\w+)/', 'main.views.unfollow_user', name='unfollow'),
url(r'^follow/(?P<category_name_url>\w+)/', 'main.views.follow_user', name='follow'),
我试图遵循类别模型,并显示类别中的内容
这是models.py
from actstream import action
class Category(models.Model):
name = models.CharField(max_length=128, unique=True)
description = models.CharField(max_length=200, unique=True)
image = models.FileField(upload_to='images',blank=True, null=True)
author = models.ForeignKey(settings.AUTH_USER_MODEL)
def __unicode__(self):
return self.name
def new_category(sender, instance, created, **kwargs):
action.send(instance.user, verb='posted', target=instance, mood='sleepy')
post_save.connect(new_category, sender=Category)
然后在views.py中,这是我不确定的部分
def timeline(request):
activities = user_stream(request.user)
context = {
'activities': activities,
}
return render(request, 'all_timeline.html', context)
def category_timeline(request, category_name):
user = User.objects.select_related('profile').get(category_name=category_name)
user_actions = []
if is_following(request.user, user) or not user.profile.private:
user_actions = actor_stream(user)
context = {
'user': user,
'activities': user_actions,
}
return render(request, 'timeline.html', context)
def follow_user(request, category_name):
follow(request.user, User.objects.get(category_name=category_name))
return redirect('category_timeline', category_name)
def unfollow_user(request, category_name):
unfollow(request.user, User.objects.get(category_name=category_name))
return redirect('category_timeline', category_name)
在本教程中,他们使用的是用户名,但由于我在关注category,我想我必须将其更改为category\u name…这可能会把原来的actstream应用程序搞砸?
\在这里,如果我只想显示以下类别的内容,那么我不需要时间轴功能,对吗
简而言之,当我进入follow/url时,我得到了一个意外的关键字参数“category\u name\u url”,它出现在get\u response第132行的env/local/lib/python2.7/site-packages/django/core/handlers/base.py中,所以我不知道发生了什么。也不知道我在做什么。。。
这是我的追踪
env/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
132. response = wrapped_callback(request, *callback_args, **callback_kwargs)
Exception Type: TypeError at /follow/aa/
Exception Value: follow_user() got an unexpected keyword argument 'category_name_url'
变量名不匹配。视图需要
caregory\u name
,而url规则捕获category\u name\u url
。换一个@美元。谢谢,但如果我将变量与category\u name\u url统一,我会在/follow/aa/处得到FieldError,无法将关键字“category\u name\u url”解析为字段。选择是:api_键,category,所以我把它们全部改为category。然后我得到了与我得到的相同的错误:follow_user()得到了一个意外的关键字参数“category_name_url”您是否也更改了正则表达式中捕获组的名称?感谢您的回复,目前我有url(r“^follow/(?P\w+)/”,“main.views.follow_user”,name='follow'),并将变量统一到category。但是,我担心的是我有url(r'^category/(?P\w+/$)、views.category、name='category'),这是用户可以遵循的。现在,我从follow(request.user,user.objects.get(category=category))中获得了以10为基数的int()的无效文本。代码中存在一些问题。尝试将查询参数更改为带有两个下划线的category\uu name=
。如果没有帮助,请通过编辑问题更新代码和错误消息。
env/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
132. response = wrapped_callback(request, *callback_args, **callback_kwargs)
Exception Type: TypeError at /follow/aa/
Exception Value: follow_user() got an unexpected keyword argument 'category_name_url'