Объект 'list' не имеет атрибута 'startswith' при интеграции Django и scrapy
Я получаю эту специфическую ошибку после того, как я пытаюсь runserver
после того, как я закончил веб-краулинг, поскольку мой веб-краулер подключен к django :
Exception in thread django-main-thread:
Traceback (most recent call last):
File "/Users/usr/opt/anaconda3/lib/python3.8/threading.py", line 932, in _bootstrap_inner
self.run()
File "/Users/usr/opt/anaconda3/lib/python3.8/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/Users/usr/cruises/venv/lib/python3.8/site-packages/django/utils/autoreload.py", line 64, in wrapper
fn(*args, **kwargs)
File "/Users/usr/cruises/venv/lib/python3.8/site-packages/django/core/management/commands/runserver.py", line 134, in inner_run
self.check(display_num_errors=True)
File "/Users/usr/cruises/venv/lib/python3.8/site-packages/django/core/management/base.py", line 487, in check
all_issues = checks.run_checks(
File "/Users/usr/cruises/venv/lib/python3.8/site-packages/django/core/checks/registry.py", line 88, in run_checks
new_errors = check(app_configs=app_configs, databases=databases)
File "/Users/usr/cruises/venv/lib/python3.8/site-packages/django/core/checks/urls.py", line 107, in check_url_settings
value = getattr(settings, name)
File "/Users/usr/cruises/venv/lib/python3.8/site-packages/django/conf/__init__.py", line 93, in __getattr__
val = self._add_script_prefix(val)
File "/Users/usr/cruises/venv/lib/python3.8/site-packages/django/conf/__init__.py", line 140, in _add_script_prefix
if value.startswith(("http://", "https://", "/")):
AttributeError: 'list' object has no attribute 'startswith'
Похоже, что ошибка находится в одном из файлов django
, а не в моем скрипте. Однако я твердо убежден, что что-то в моем скрипте вызывает это.
Вот мой сценарий:
from django.db import models
class Cruises(models.Model):
title = models.CharField(max_length=200)
views.py:
from django.shortcuts import render
from .models import Cruises
def basic(request):
long_list = Cruises.objects.values('title')
return render(request, 'cruise_control/basic.html', context = {'long_list':long_list})
urls.py
from django.urls import path
from . import views
urlpatterns = [
path('',views.basic, name = 'basic')
]
basic.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Cruises</title>
</head>
<body>
<h1> Cruise Control </h1>
{% for lng_l in long_list %}
<form action="/action_page.php">
<label for='destination'>Destination</label>
<input type="text" list="destination" />
<datalist id="destination">
<option>{{lng_l.title}}</option>
</datalist>
<!label for="cruisetime">Departure date</label>
<!input type="date" id="cruisetime" name="cruisetime" min={{dep_l.departureDate}}>
<!input type="submit">
</form>
{% endfor %}
</body>
</html>