首页 > 解决方案 > NoReverseMatch 在 /admin/pinterest/pinner/add/

问题描述

我正在尝试制作一个项目“pinterest 克隆”。我正在关注以下链接 - https://github.com/sobriquette/pinclone。当我尝试添加 pinner 时,我收到此错误 - "NoReverseMatch at /admin/pinterest/pinner/add/" 。我不明白有什么问题。请帮我找出来。

这是我的models.py

from __future__ import unicode_literals
import uuid

from django.db import models
import django.utils.encoding

class Pinner(models.Model):
    pinner_id = models.CharField(primary_key=True, editable=False, max_length=255)
    avatar = models.URLField(blank=True)
    full_name = models.CharField(max_length=128)
    username = models.CharField(max_length=20)

    def print_attr(self):
        for k, v in self.__dict__.items():
            if '__' not in k:
                print("{}: {}".format(k, v))

    def __str__(self):
        return self.username

class Board(models.Model):
    board_id = models.CharField(primary_key=True, editable=False, max_length=255)
    name = models.CharField(max_length=20)
    pinner = models.ForeignKey(Pinner, on_delete=models.CASCADE)
    url = models.URLField()

    def print_arrt(self):
        for k, v in self.__dict__.items():
            if '__' not in k:
                print("{}: {}".format(k, v))

    def __str__(self):
        return self.name

class Pin(models.Model):
    pin_id = models.CharField(primary_key=True, editable=False, max_length=255)
    board = models.ForeignKey(Board, on_delete=models.CASCADE)
    description = models.CharField(max_length=255, blank=True)
    link_count = models.IntegerField(blank=True)
    link = models.URLField(blank=True, null=True)
    title = models.CharField(max_length=128, blank=True)

    def print_attr(self):
        for k, v in self.__dict__.items():
            if '__' not in k:
                print("{}: {}".format(k, v))

    def __str__(self):
        return self.title

class Image(models.Model):
    image_id = models.CharField(primary_key=True, editable=False, max_length=255)
    pin = models.ForeignKey(Pin, related_name='images', on_delete=models.CASCADE)
    url = models.URLField(blank=True, null=True)

    def print_attr(self):
        for k, v in self.__dict__.items():
            if '__' not in k:
                print("{}: {}".format(k, v))

    def __self__(self):
        return self.url

这是 admin.py

from __future__ import unicode_literals

from django.contrib import admin
from .models import Pinner
from .models import Board
from .models import Pin
from .models import Image

admin.site.register(Pinner)
admin.site.register(Board)
admin.site.register(Pin)
admin.site.register(Image)

标签: pythondjango

解决方案


推荐阅读