Python 与#x27相反;邀请';带参数';(';tk测试';,)';和关键字参数';{}';没有找到。已尝试0个模式:[]
我有一个invite_用户视图,如下所示:Python 与#x27相反;邀请';带参数';(';tk测试';,)';和关键字参数';{}';没有找到。已尝试0个模式:[],python,django,django-models,django-forms,django-views,Python,Django,Django Models,Django Forms,Django Views,我有一个invite_用户视图,如下所示: class invite_user(View): template_name = "invites/invite.html" def get(self, request, *args, **kwargs): form = InviteForm() return render(request, self.template_name, {'form': form}) def post(sel
class invite_user(View):
template_name = "invites/invite.html"
def get(self, request, *args, **kwargs):
form = InviteForm()
return render(request, self.template_name, {'form': form})
def post(self, request, *args, **kwargs):
form = InviteForm(request.POST)
if form.is_valid():
user = User.objects.create_user(form.cleaned_data['first_name'], form.cleaned_data['email'], '**')
user.first_name=form.cleaned_data['first_name']
user.last_name = form.cleaned_data['last_name']
user.is_active = False
user.save()
#now make invite
invite = Invite.objects.create(user=user, cookie='ck-test', token='tk-test')
send_mail('Subject', 'Link: http://somesite.com%s' % invite.get_absolute_url(), [user.email])
return redirect(reverse('home_page'))
else:
form = InviteForm()
return render(request, self.template_name, {'form': form})
运行时,django告诉我它找不到参数为“tk test”的invite对象。我在这里有点困惑,因为我显然是在用token='tk-test'创建一个Invite实例。我可能会对get_absolute_url的用途感到困惑
模型如下:
class Invite(models.Model):
user = models.OneToOneField(User)
cookie = models.SlugField()
token = models.SlugField()
def __unicode__(self):
return u"%s's invite" % (self.user)
def get_absolute_url(self):
return (reverse('invite', args=[self.token]))
我也可以提供一些正在使用的中间件,但除非有人要求,否则在这里这似乎无关紧要。有人能解释一下这是怎么回事吗
应要求,我的主要URLConf:
from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
from project.apps.blog.views import home, about
from project.apps.suggest.views import suggest, thankyou
from django.core.urlresolvers import reverse
from project.userprofile.views import Login, Logout, Signup
from porject.apps.invites.views import invite_user
#used for serving static locally
from django.conf import settings
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
#blog app
url(r'^$', home.as_view(), name="home_page"),
url(r'^about/$', about.as_view(), name='about_page'),
#suggest app
url(r'^suggest/$', suggest.as_view(), name='suggest_page'),
url(r'^thankyou/$', thankyou.as_view(), name='thank_you_page'),
#userprofile
url(r'^login/$', Login.as_view(), name='login_page'),
url(r'^logout/$', Logout.as_view(), name='logout_page'),
url(r'^signup/$', Signup.as_view(), name='signup_page'),
#invite app
url(r'^request-invite/$', invite_user.as_view(), name="invite_user_page"),
)
您在
invite
型号的get_absolute\u URL
中使用名为invite
的URL时,缺少一个条目。如果已为该模型定义了视图,则应添加URL条目。如果此模型没有任何视图,则不需要定义get\u absolute\u url
。至于get_absolute\u url
究竟是什么内容,你有没有在main conf url.py中包含你的应用程序url.py?是的,它直接在我的main URLconf中,比如url(r'^request invite/$',invite\u user.As_view(),name=“invite\u user\u page”),
你能发布你的url.py
代码吗?你很可能错过了arg
,请发布你的主URLconf
,看起来你没有url名称invite
的条目,是吗?我已经在作品中发布了我的主URLconf。哦,上帝,感谢你指出这一点。我完全忘记了。谢谢你的链接。