【问题标题】:got an unexpected keyword argument 'pk' on genric view在通用视图上有一个意外的关键字参数“pk”
【发布时间】:2017-08-17 09:18:49
【问题描述】:

我正在尝试使用内置 UpdateViewDeleteView,并且我不断收到带有异常值的 TypeErrors:

get() 得到了一个意外的关键字参数“pk”

views.py

class SeqRunUpdate(LoginRequiredMixin, UpdateView):
    form_class = Sequencing_RunsForm
    model = Sequencing_Runs

class SeqRunDelete(LoginRequiredMixin, DeleteView):
    model = Sequencing_RunsForm
    success_url = reverse_lazy('seq_run-private')

urls.py

url(r'^private/Samples/(?P<pk>[0-9]+)/$', views.SampleUpdate.as_view(), name='sample-update'),
url(r'^private/Samples/(?P<pk>[0-9]+)/del$', views.SampleUpdate.as_view(), name='sample-delete'),

models.py

class Sequencing_Runs(models.Model):
    seq = models.CharField (max_length=250, unique=True, verbose_name='Sequence')
    date= models.DateField (auto_now=False, verbose_name='Date')
    classifaction = models.IntegerField(choices=CLASSIFACTION_CHOICES, default=1)

    def get_absolute_url(self):
        return reverse('table:seq_run-add')

    def __str__(self):
        return self.seq

模板

<td><form action="{% url 'table:seq_run-update' seq.pk %}" method="get" style="display: inline;">
                        {% csrf_token %}
                        <button type="submit" class="btn btn-default">
                            <span class="glyphicon glyphicon-edit"></span>
                        </button>
                    </form></td>
                    <td><form action="{% url 'table:seq_run-delete' seq.pk %}" method="get" style="display: inline;">
                        {% csrf_token %}
                        <button type="submit" class="btn btn-default">
                            <span class="glyphicon glyphicon-trash"></span>
                        </button>
                    </form></td>

【问题讨论】:

    标签: python django django-generic-views


    【解决方案1】:

    您在urls.py 中使用了SampleUpdate,但我在您的views.py 中的任何地方都看不到该类,而是使用SeqRunUpdateSeqRunDelete。在您的网址中使用相应的视图类,错误应该会消失。

    【讨论】:

    • 哦,我刚刚注意到我在 url 之间感到困惑,非常感谢,我被这个错误困扰了一天
    猜你喜欢
    • 2012-11-06
    • 1970-01-01
    • 2020-12-05
    • 1970-01-01
    • 1970-01-01
    • 2020-08-18
    • 2020-05-01
    • 1970-01-01
    • 2017-09-26
    相关资源
    最近更新 更多