我正试着把身份证倒过来。但它不起作用。我得到了这个错误
反转为'注册浏览。谢谢找不到“with arguments”(20,)“和关键字参数“{}”。在
这是我的视图.py公司名称:
from django.http import HttpResponse, Http404, HttpResponseRedirect
from django.core.urlresolvers import reverse
from reg.models import registration, registrationform
from django.shortcuts import render_to_response, get_object_or_404
from django.template import RequestContext
def registration(request):
if request.method == 'POST':
form = registrationform(request.POST)
if form.is_valid():
data = form.save()
id = data.id
return thanks(request,id)
else:
form = registrationform()
return render_to_response('registration.html', {'form' : form}, context_instance=RequestContext(request))
def thanks(request, id):
p = get_object_or_404(registration, pk=id)
return render_to_response('thanks.html', {'reg' : p})
这是我的网址.py公司名称:
^{pr2}$给你谢谢.html公司名称:
<html>
<body>
<p>Thank you for registration mr.{{reg.username}}</p>
</body>
</html>
我还展示了我的模型.py公司名称:
from django.db import models
from django.forms import ModelForm
class registration(models.Model):
username = models.CharField(max_length=100)
password = models.CharField(max_length=100)
def __unicode__(self):
return self.name
class registrationform(ModelForm):
class Meta:
model = registration
谢谢。在
这条线
正在尝试构造指向视图
reg.views.thanks
的url,并将id
变量用作参数。在这条线进来了网址.py在
^{pr2}$没有该参数的任何位置。在
首先,你需要弄清楚的是你是否真的想发送一个HTTP重定向到浏览器,让它转到“谢谢”页面。如果你真的这么做了,那么你需要一种在URL中发送id的方法。您可以像@moguzalp建议的那样,将其作为URL路径本身的一部分,或者将其放入查询字符串中,比如
或者你可以做其他的事情,比如在用户的会话中存储id,当用户请求感谢页面时将其取出。不过,这有点复杂。在
如果您实际上不需要发出HTTP重定向,那么就没有什么可以阻止您从视图函数内部调用thanks()函数,如下所示:
URL不会在浏览器中更改,但将使用正确的ID,并且不需要出现在URL、查询参数或会话中的任何其他位置
从这个链接(django教程):
https://docs.djangoproject.com/en/dev/topics/http/urls/#django.core.urlresolvers.reverse
示例:
所以你的代码是:
在网址.py公司名称:
^{pr2}$在您的职能:
相关问题 更多 >
编程相关推荐