2013-04-24 11 views
5

Sanal kutuda Flask ile bir web sitesi oluşturdum. Web sitesi localhost üzerinde açılabilir, ancak Port yönlendirme ile açamıyorum, bu yüzden kodu manage.run()'dan manage.run(host='0.0.0.0')'a değiştirdim. Flask Error: typeerror run() beklenmedik bir anahtar kelime argümanına sahip 'host' var

sorun

bu hatayı alıyorum olmasıdır:

typeerror run() got an unexpected keyword argument 'host'. 

benzer hata olduğunda değiştireceğim manage.run(debug=True) için manage.run() oluşur. Flask belgelerini takip ettim. http://flask.pocoo.org/docs/quickstart/#a-minimal-application Herkes bu hatayı neden aldığımı bana bildirebilir mi? @ Fangwz0577 gibi

#!/usr/bin/env python 
#-*- coding:utf-8 -*- 

"""Manage Script.""" 

from sys import stderr, exit 

from flask.ext.script import Manager, prompt_bool 

from szupa import create_app 
from szupa.extensions import db 
from szupa.account.models import User 
from szupa.context import create_category_db 


app = create_app() 
manager = Manager(app) 


@manager.command 
def initdb(): 
    """Initialize database.""" 
    db.create_all() 
    create_category_db() 


@manager.command 
def migrate(created, action="up"): 
    module_name = "migrates.migrate%s" % created 
    try: 
     module = __import__(module_name, fromlist=["migrates"]) 
    except ImportError: 
     print >> stderr, "The migrate script '%s' is not found." % module_name 
     exit(-1) 
    if prompt_bool("Confirm to execute migrate script '%s'" % module_name): 
     try: 
      action = getattr(module, action) 
     except AttributeError: 
      print >> stderr, "The given action '%s' is invalid." % action 
      exit(-1) 
     action(db) 
     print >> stderr, "Finished." 


@manager.command 
def dropdb(): 
    """Drop database.""" 
    if prompt_bool("Confirm to drop all table from database"): 
     db.drop_all() 


@manager.command 
def setadmin(email): 
    """Promote a user to administrator.""" 
    user = User.query.filter_by(email=email).first() 
    if not user: 
     print >> stderr, "The user with email '%s' could not be found." % email 
     exit(-1) 
    else: 
     user.is_admin = True 
     db.session.commit() 


if __name__ == "__main__": 
    manager.run() 
+0

Bir çözüm buldunuz! Nasıl çözdüğünüzü açıklayan ve o sayfaya bağlantı veren bir yanıt gönderebilirsiniz. Aynı sorunu yaşayan ve bu gönderiye katılan herkese yardımcı olur. İşte [bağlantının çalışan bir versiyonu] (https://web.archive.org/web/20130218044123/http://docs.mongodb.org/manual/tutorial/write-a-tumblelog-application-with-flask- mongoengine /). – SuperBiasedMan

cevap

1

onlar manager.add_command kullanarak sorunu çözüldü, bir yorum belirtti. Bağlantılarının arşivlenmiş sürümü here.

Next, create the manage.py file. Use this file to load additional Flask-scripts in the future. Flask-scripts provides a development server and shell:

from flask.ext.script import Manager, Server 
from tumblelog import app 

manager = Manager(app) 

# Turn on debugger by default and reloader 
manager.add_command("runserver", Server(
    use_debugger = True, 
    use_reloader = True, 
    host = '0.0.0.0')) 
+1

Şişesi hakkında bilgim yok, eğer birisi daha iyi bir cevap yazmak istiyorsa, lütfen yapın. Sadece ilgili bölümden alıntı yapmak için bunu gönderiyorum ve @ fangwz0577'nin yorumunu korumak için çalışan bir bağlantı kullanın. – SuperBiasedMan

İlgili konular