perry_lin 2019-08-21 14:02 采纳率: 100%
浏览 240
已采纳

各位大佬帮忙看看!!!!!!!!!!!!!!!!!!!!

Reverse for 'vote' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['vote/(?P\d+)/$'
vote2 代码:

<p>please sigh your name<p>
    <form action="{% url 'votes:vote2' %}" method='post'>
        {% csrf_token %}
        {{ form.as_p }}
        <button name="submit">done</button>
    </form>
    <p>
      <a href="{% url 'votes:vote' %}">if you had press 'done', press here</a>
    </p>

urls.py

from django.conf.urls import url

from . import views

urlpatterns = [
    url(r'^$',views.index,name='index'),
    url(r'^vote2/$',views.vote2,name='vote2'),
    url(r'^thanks/$',views.thanks,name='thanks'),
    url(r'^vote/(?P<name_id>\d+)/$', views.vote,name='vote'),
    url(r'^vote3/(?P<name_id>\d+)/$', views.vote3,name='vote3'),
]

views.py

from django.shortcuts import render
from django.http import HttpResponseRedirect
from django.core.urlresolvers import reverse
from .models import Name
from .forms import FormName, FormR

# Create your views here.
def index(request):
    return render(request, 'votes/index.html')
def vote(request, name_id):
    name = Name.objects.get(id=name_id)
    context = {'name': name}
    if 1==1:
        return HttpResponseRedirect(reverse('vote:vote3', args=[name_id]))
    return render(request, 'vote/vote.html', context)
def vote2(request):
    if request.method != 'POST':
        form = FormName()
    else:
        form = FormName(request.POST)
        print(form)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('votes/vote'))

    context = { 'form': form}
    return render(request, 'votes/vote2.html', context)
def vote3(request, name_id):
    name = Name.objects.get(id=name_id)
    if request.method != 'POST':
        form = FormR()
    else:
        form = FormR(data=request.POST)
        if form.is_valid():
            R = form.save(commit=False)
            R.name = name
            R.save()
            return HttpResponseRedirect(reverse('votes/thanks', args=[name_id]))

    context = {'name': name,'form': form}
    return render(request, 'votes/vote3.html', context)
def thanks(request):
    return render(request, 'votes/thanks.html')

vote.html

<p>
  <a href="{% url 'votes:vote3' name.id %}">click me!!!</a>
</p>

有什么问题吗?

  • 写回答

1条回答 默认 最新

  • 关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿