IMDBPY 发布路线未更新到 MovieForm

如何解决IMDBPY 发布路线未更新到 MovieForm

我正在从 imdbpy 创建电影数据库,但在将搜索到的电影添加数据库时遇到问题。

有人可以看看我的代码,并就我需要更改的代码部分的片段给我任何建议吗?

这真的很重要,谢谢!

电影演员和情节没有保存到我的数据库中,只是标题 数据库

电影=#从电影中选择*; 身份证 |标题 |演员 |情节|用户名 ----+------------+------+------+------- 1 |泰坦尼克号 | | | eftn123 2 |泰坦尼克号 | | | eftn123 4 |泰坦尼克号 | | | eftn123 5 |泰坦尼克号 | | | eftn123 6 |泰坦尼克号 | | | eftn123 7 |晚餐和电影 | | | eftn123 8 |晚餐和电影 | | | eftn123 9 |晚餐和电影 | | | eftn123 10 |青少年泰坦| 高分辨率照片| CLIPARTO | |请工作

错误

sqlalchemy.exc.ProgrammingError sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) 无法适应类型“函数” [sql: INSERT INTO movie (title,"cast",plot,username) VALUES (%(title)s,%(cast)s,%(plot)s,%(username)s) RETURNING movie.id] [参数: {'title': 'teen titans','cast': ,'plot': '','username': 'plzwork'}] (此错误的背景:http://sqlalche.me/e/13/f405

回溯(最近一次调用最后一次) 文件“C:\Users\eftn\OneDrive\Desktop\movieapi\venv\Lib\site-packages\sqlalchemy\engine\base.py”,第 1276 行,在 _execute_context self.dialect.do_execute( 文件“C:\Users\eftn\OneDrive\Desktop\movieapi\venv\Lib\site-packages\sqlalchemy\engine\default.py”,第 593 行,在 do_execute 在这个framecursor.execute(statement,parameters)中打开一个交互式python shell

获取电影详情

class GetMovieDetails(object):
def __init__(self,movie):
    self.movie =movie
    
def get_details(self,info_type):
    return self.movie.get(info_type) 

def movie_details(self):
    movie_details = {}
    movie_details['title'] = '-' if self.get_details('title') is None else self.get_details('title')
    movie_details['cast'] = ','.join('-' if self.get_details('cast') is None else [i['name'] for i in list(self.get_details('cast'))])
    movie_details['plot'] = '-' if self.get_details('plot') is None else self.get_details('plot')[0]
    return movie_details
    

搜索电影路线

@app.route("/users/<username>//movies/new",methods=["GET","POST"])

def search_movies(用户名):

"""Show  Movie Search Form and process it."""
if 'username' not in session or username != session['username']:
    raise Unauthorized()

"""Search movie and show movie"""

query= request.args.get('Movie')

movies=moviesDB.search_movie(query)
movie_id=movies[0].movieID

movie = moviesDB.get_movie(movie_id,info=['title','cast','plot'])

movie_details_obj = GetMovieDetails(movie)
movie_details_dict = movie_details_obj.movie_details()
results =[]
for movie in movies:
    results.append(
    {'title': movie['title'],'year': movie['year'],'cast': movie['cast'],'plot': movie['plot'],})
    return (query,results)

添加数据库

@app.route("/users/<username>/movies/new","POST"])

def movie_show(用户名):

"""Show  Movie Search Form and process it."""
if 'username' not in session or username != session['username']:
    raise Unauthorized()



form =MovieForm()


if form.validate_on_submit():
    title = form.title.data
    list_cast= form.cast.data
    plot=form.plot.data
    
    

    
    
  
    movie = Movie(
    
    title=(title),cast=(cast),plot= (plot),username=username)
    
    

    print('title',title)
    print('cast',list_cast)
    print('plot',plot)
    db.session.add(movie)

    db.session.commit()
    

    return redirect(f"/users/{movie.username}")
    
else:
    return render_template("movies/new.html",form=form)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?