我用django创建了一个简单的Web应用程序,以显示.csv文件中的一些列表。该程序在使用runserver的本地计算机上运行良好,但是,当尝试使用以下指南使用DigitalOcean进行部署时:https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-16-04#create-a-gunicorn-systemd-service-file,当我运行〜// manage.py runserver 0.0.0.0:8000时,我感到非常满意。
TypeError:“模块”对象不可迭代
跟着
“配置不正确:所包含的URLconf .urls'中似乎没有任何模式。如果在文件中看到有效的模式,则问题可能是由循环导入引起的。”
花了整整一天时间搜索其他大多数有此问题的人后,他们拼写错误或缺少逗号,但是我不认为这是我的情况。我在下面显示了我的网址文件:
urls.py-项目
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('recommendation/', include('recommendation.urls')),
path('admin/', admin.site.urls),
]
urls.py-推荐
from django.urls import path
from django.conf.urls import url
from . import views
app_name = 'recommendation'
urlpatterns = [
path('', views.index, name='index'),
url(r'^movie/search', views.movie, name='movie'),
]
我看到一则帖子解释说,由于urlpatterns没有正确定义为列表(缺少逗号),因此找到了“模块”对象。
非常感谢您的帮助,感谢您的宝贵时间和任何建议
编辑:回溯图
screencap of traceback from putty terminal
编辑2:要从导入和功能的角度了解mmy视图和“引擎”文件的工作方式:
views.py
from django.shortcuts import render
from django.http import HttpResponseRedirect
from django.http import HttpResponse
from django.http import Http404
from django.views.decorators.csrf import csrf_exempt
import engine as eng
import urllib.request
import urllib.parse
import re
import json
def index(request):
lom = eng.movielist
return render(request, 'recommendation/index.html', {'lom':lom})
@csrf_exempt
def movie(request):
handles GET requests, returns a list of movie info + youtube trailers
engine.py
import pandas as pd
import numpy as np
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import linear_kernel
from ast import literal_eval
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.metrics.pairwise import cosine_similarity
//the code for processing a movie choice and returning a list of recommendatioons
最终编辑:问题是我没有在服务器上安装sklearn ...哇