2017-01-05 6 views
0

フラスコのアプリケーションで作業しています。なぜ新しいユーザーがアカウントを登録しているときにDateTimeを設定しようとしているのか、私はちょうどそれがユーザーが登録された正確な時間を保存したい。以下は、ユーザーを追加してデータベースにコミットするために作成したルートです。FlaskでのDateTimeの設定App

from flask import Flask, render_template, request, redirect, url_for, flash 
from flask import escape, session 
from datetime import datetime 
from sqlalchemy import create_engine 
from sqlalchemy.orm import sessionmaker 
from database import Users, Base 

app.route('/registered', methods=['Get', 'POST']) 
def Register(): 
    if request.method == 'POST': 
     password = request.form['password'] 
     verify = request.form['verify'] 
     if password == verify: 
      newUser = Users(Username = request.form['username'], 
          Password = request.form['password'], 
          Email = request.form['email'], 
          DateTime = datetime.now()) 
      session.add(newUser) 
      session.commit() 
      return redirect('HomePage') 
     else: 
      flash('Passwords do not match') 
      return render_template('Register.html') 

そして、ここで私は現在、セットアップ持っているデータベース構造である:私は、htmlファイルは日時プロパティを設定して何かを持っているかどうかわからない

class Users(Base): 
    __tablename__ = 'users' 

    Id = Column(Integer, primary_key = True) 
    Username = Column(String(22), unique = True, nullable = False) 
    Password = Column(String(22), nullable = False) 
    Email = Column(String(55), unique = True, nullable = False) 
    Registered = Column(DateTime, nullable = False) 

を。

誰でも手伝ってください。それは非常に高く評価されるだろう。

要求ハンドラで
+0

あなたは、 'User'コンストラクタにキーワード引数' DateTime'を渡していますが、 'Registered'を期待しています。 – snakecharmerb

+0

それは私が持っていた問題を修正しました。答えとしてあなたのコメントを追加して、それをアップヴォートしてチェックして、それが働いたことを人々に知らせることができますか? –

答えて

0

、あなたがUsersコンストラクタにキーワード引数DateTimeを渡す:

app.route('/registered', methods=['Get', 'POST']) 
def Register(): 
    if request.method == 'POST': 
     password = request.form['password'] 
     verify = request.form['verify'] 
     if password == verify: 
      newUser = Users(Username = request.form['username'], 
          Password = request.form['password'], 
          Email = request.form['email'], 
          DateTime = datetime.now()) 

しかしUsersモデルがDateTime列を持っていない、正しい名前はRegisteredです:

class Users(Base): 
    __tablename__ = 'users' 

    Id = Column(Integer, primary_key = True) 
    Username = Column(String(22), unique = True, nullable = False) 
    Password = Column(String(22), nullable = False) 
    Email = Column(String(55), unique = True, nullable = False) 
    Registered = Column(DateTime, nullable = False)