NoReverseMatch位于/admin/pinterest/pinner/add/

2024-10-16 20:43:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我想做一个项目“pinterest克隆”。我正在跟踪下面的链接-https://github.com/sobriquette/pinclone。当我尝试添加pinner时,我得到了这个错误-“NoReverseMatch at/admin/pinterest/pinner/add/”。我不明白有什么问题。请帮我弄清楚

这是我的模特

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

这是管理员

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)

Tags: infromimportselftrueadminmodelsdef