ValueError: недопустимый литерал для int () с основанием 10: 'favicon.ico' - PullRequest
0 голосов
/ 09 июня 2019

Я не могу понять, почему эта ошибка появляется.Я понимаю, что означает ошибка, но не то, почему «favicon.ico» появляется в самой ошибке.

Откат миграции, редактирование urls.py, очистка базы данных, откат кода.

Вот модель, если это полезно:

from django.db import models


class DoxpopCase(models.Model):
    uri_length = 50

    minutes_uri = models.CharField(max_length=uri_length)
    court_payments_uri = models.CharField(max_length=uri_length)
    charges_uri = models.CharField(max_length=uri_length)
    case_filed_date = models.DateField()
    case_number = models.CharField(max_length=25, unique=True)
    case_local_type_code = models.CharField(max_length=10)
    case_is_marked_expunged = models.BooleanField()
    dispositions_uri = models.CharField(max_length=uri_length)
    as_of_timestamp = models.DateTimeField()
    case_local_disposition_code = models.CharField(max_length=10, blank=True, null=True)
    case_local_subtype_code = models.CharField(max_length=10, blank=True, null=True)
    court_uri = models.CharField(max_length=uri_length)
    case_uri = models.CharField(max_length=uri_length)
    case_disposition_date = models.DateField(blank=True, null=True)
    events_uri = models.CharField(max_length=uri_length)
    case_global_type_code = models.CharField(max_length=10)
    case_actors_uri = models.CharField(max_length=uri_length)
    case_global_disposition_code = models.CharField(max_length=25)
    case_local_status_code = models.CharField(max_length=15)
    court_receivables_uri = models.CharField(max_length=uri_length)
    case_caption = models.CharField(max_length=512, blank=True, null=True)
    sentences_uri = models.CharField(max_length=uri_length)
    case_reopen_date = models.DateField(blank=True, null=True)
    # case_county_fips = models.IntegerField()
    # archived = models.BooleanField(default=False)

    def __str__(self):
        return self.case_number


class DoxpopActor(models.Model):
    class Meta:
        ordering = ['assigned_case_role', 'actor_person_last_name']

    case = models.ForeignKey(DoxpopCase, on_delete=models.CASCADE)
    actor_full_name = models.CharField(max_length=255)
    actor_person_first_name = models.CharField(max_length=255, blank=True, null=True)
    actor_person_last_name = models.CharField(max_length=255, blank=True, null=True)
    actor_person_middle_name = models.CharField(max_length=50, blank=True, null=True)
    actor_person_name_prefix = models.CharField(max_length=50, blank=True, null=True)
    actor_person_name_suffix = models.CharField(max_length=50, blank=True, null=True)
    actor_uri = models.CharField(max_length=50)
    assigned_case_role = models.CharField(max_length=100, blank=True, null=True)


class DoxpopActorAddress(models.Model):
    fields = [
        'address_line1',
        'address_line2',
        'address_line3',
        'address_line4',
        'address_city',
        'address_state_province_code',
        'address_postal_code',
    ]

    def save(self, *args, **kwargs):
        for field_name in DoxpopActorAddress.fields:
            val = getattr(self, field_name, False)
            if val:
                setattr(self, field_name, val. upper())
        super(DoxpopActorAddress, self).save(*args, **kwargs)

    actor = models.ForeignKey(DoxpopActor, on_delete=models.CASCADE)
    address_line1 = models.CharField(max_length=100, blank=True, null=True)
    address_line2 = models.CharField(max_length=100, blank=True, null=True)
    address_line3 = models.CharField(max_length=100, blank=True, null=True, default=None)
    address_line4 = models.CharField(max_length=100, blank=True, null=True, default=None)
    address_city = models.CharField(max_length=50, blank=True, null=True)
    address_state_province_code = models.CharField(max_length=2, blank=True, null=True)
    address_postal_code = models.CharField(max_length=20, blank=True, null=True)


class DoxpopActorPhone(models.Model):
    PHONE_TYPE_CHOICES = (
        ('CELL', 'CELL'),
        ('HOME', 'HOME'),
        ('PERSONAL', 'PERSONAL'),
        ('WORK', 'WORK'),
        ('BUSINESS', 'BUSINESS'),
        ('UNKNOWN', 'UNKNOWN'),
    )

    actor = models.ForeignKey(DoxpopActor, on_delete=models.CASCADE)
    phone_number = models.CharField(max_length=20, blank=True, null=True)
    phone_type = models.CharField(max_length=25, choices=PHONE_TYPE_CHOICES, blank=True, null=True)
    voice_or_fax_code = models.CharField(max_length=1, blank=True, null=True)


class DoxpopMinutes(models.Model):
    case = models.ForeignKey(DoxpopCase, on_delete=models.CASCADE)
    minute_entry_text = models.TextField(blank=True, null=True)
    minute_entry_date = models.DateField(blank=True, null=True)
    minute_entry_type_text = models.CharField(max_length=255, blank=True, null=True)

urls.py

from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
import web.views


urlpatterns = [
    path('admin/', admin.site.urls),
    path('', web.views.home, name='home'),
    path('search/', web.views.search_results, name='search_results'),
    path('cases/', web.views.view_cases, name='view_cases'),
    path('<str:pk>/', web.views.case_detail, name='case_detail'),
    # path('actors/edit/<int:actor_id>', web.views.actor_edit, name='actor_edit'),
    path('actor/edit/<int:pk>', web.views.actor_edit, name='actor_edit'),
    path('address/edit/<int:pk>', web.views.actor_address_edit, name='address_edit'),
    path('phone/edit/<int:pk>', web.views.actor_phone_edit, name='phone_edit'),
    # path('cases/', include('web.urls')),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

ValueError: недопустимый литерал для int () с основанием 10: 'favicon.ico'

1 Ответ

0 голосов
/ 09 июня 2019

Веб-браузеры всегда будут запрашивать /favicon.ico, это значок, который появляется на вкладке. Например, здесь значок слева от этого изображения -

stackoverflow

enter image description here

Возможно, у вас есть шаблон URL, который соответствует чему-либо и ожидает целое число. Вы должны изменить шаблон так, чтобы он принимал только целые числа path('<int:foo>/', view, name='your-view'), и если вы хотите иметь значок, вы должны настроить свой веб-сервер для обслуживания значка с /favicon.ico, вы можете изменить местоположение для обслуживания значка, используя тег в <head> вашей страницы <link rel="shortcut icon" href="/other-path-to-my-icon/icon.ico" />

EDIT:

Шаблон нарушения path('<str:pk>/', web.views.case_detail, name='case_detail'),, вы должны изменить соответствие на '<int:pk>/', поскольку PK модели случая - это int

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...