2013-04-24 5 views
5

मैंने फ्लास्क के साथ वर्चुअलबॉक्स पर एक वेबसाइट बनाई। वेबसाइट लोकहोस्ट पर खोली जा सकती है, लेकिन मैं इसे पोर्ट अग्रेषण के माध्यम से नहीं खोल सकता, इसलिए मैंने manage.run() से manage.run(host='0.0.0.0') पर कोड बदल दिया।फ्लास्क त्रुटि: टाइपर रन() को एक अप्रत्याशित कीवर्ड तर्क 'होस्ट' मिला

समस्या यह है कि मैं इस त्रुटि मिल रही है:

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

समान त्रुटि तब होती है जब परिवर्तन manage.run(debug=True) करने के लिए manage.run()। मैंने बस फ्लास्क दस्तावेज का पालन किया। http://flask.pocoo.org/docs/quickstart/#a-minimal-application क्या कोई मुझे बता सकता है कि मुझे यह त्रुटि क्यों मिल रही है?

#!/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

खुशी है कि आपको एक समाधान मिला! आप यह बताते हुए एक उत्तर पोस्ट कर सकते हैं कि आपने इसे कैसे हल किया और उस पृष्ठ से लिंक किया। यह किसी और की मदद करेगा जिसकी एक ही समस्या है और इस पोस्ट में आता है। यहां एक [लिंक का वर्किंग वर्जन] है (https://web.archive.org/web/20130218044123/http://docs.mongodb.org/manual/tutorial/write-a-tumblelog-application-with-flask- mongoengine /)। – SuperBiasedMan

उत्तर

1

के रूप में @ fangwz0577 एक टिप्पणी में कहा, वे manager.add_command का उपयोग कर समस्या हल हो। उनके लिंक का संग्रहीत संस्करण 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

मुझे फ्लास्क के बारे में सूचित नहीं किया गया है, इसलिए यदि कोई बेहतर उत्तर लिखना चाहता है, तो कृपया करें। मैं सिर्फ प्रासंगिक अनुभाग को उद्धृत करने के लिए इसे पोस्ट कर रहा हूं और @ fangwz0577 की टिप्पणी से जानकारी को संरक्षित करने के लिए एक कार्यशील लिंक का उपयोग कर रहा हूं। – SuperBiasedMan

संबंधित मुद्दे

 संबंधित मुद्दे