Anfängerproblem mit Werkzeug/SQLite...

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
nemomuk
User
Beiträge: 862
Registriert: Dienstag 6. November 2007, 21:49

Anfängerproblem mit Werkzeug/SQLite...

Beitragvon nemomuk » Donnerstag 26. Juni 2008, 19:04

Hallo,

da ich mal wieder Zeit habe, mich mit Python zu beschäftigen, arbeite ich mich gerade durch das Tutorial von Werkzeug durch.

Habe soweit alles auf meinem Debian Server installiert und alles angelegt. Nun bin ich soweit, dass ich mit der Werkzeug-Shell rumprobieren kann.
Mein Problem ist nur das hier:

Interactive Werkzeug Shell
[code=]>>> from shorty.models import session, URL
>>> urls = [URL('http://example.org/'), URL('http://localhost:5000/')]
Traceback (most recent call last):
File "<console>", line 1, in ?
File "/usr/lib/python2.4/site-packages/SQLAlchemy-0.4.6-py2.4.egg/sqlalchemy/orm/attributes.py", line 1215, in init
oldinit(instance, *args, **kwargs)
File "/var/www/vhosts/icoost.com/subdomains/python/httpdocs/shorty/models.py", line 21, in __init__
if not URL.query.get(uid):
File "/usr/lib/python2.4/site-packages/SQLAlchemy-0.4.6-py2.4.egg/sqlalchemy/orm/query.py", line 269, in get
return self._get(key, ident, **kwargs)
File "/usr/lib/python2.4/site-packages/SQLAlchemy-0.4.6-py2.4.egg/sqlalchemy/orm/query.py", line 1049, in _get
return q.all()[0]
File "/usr/lib/python2.4/site-packages/SQLAlchemy-0.4.6-py2.4.egg/sqlalchemy/orm/query.py", line 876, in all
return list(self)
File "/usr/lib/python2.4/site-packages/SQLAlchemy-0.4.6-py2.4.egg/sqlalchemy/orm/query.py", line 936, in __iter__
return self._execute_and_instances(context)
File "/usr/lib/python2.4/site-packages/SQLAlchemy-0.4.6-py2.4.egg/sqlalchemy/orm/query.py", line 939, in _execute_and_instances
result = self.session.execute(querycontext.statement, params=self._params, mapper=self.mapper, instance=self._refresh_instance)
File "/usr/lib/python2.4/site-packages/SQLAlchemy-0.4.6-py2.4.egg/sqlalchemy/orm/session.py", line 625, in execute
return self.__connection(engine, close_with_result=True).execute(clause, params or {})
File "/usr/lib/python2.4/site-packages/SQLAlchemy-0.4.6-py2.4.egg/sqlalchemy/engine/base.py", line 844, in execute
return Connection.executors[c](self, object, multiparams, params)
File "/usr/lib/python2.4/site-packages/SQLAlchemy-0.4.6-py2.4.egg/sqlalchemy/engine/base.py", line 895, in execute_clauseelement
return self._execute_compiled(elem.compile(dialect=self.dialect, column_keys=keys, inline=len(params) > 1), distilled_params=params)
File "/usr/lib/python2.4/site-packages/SQLAlchemy-0.4.6-py2.4.egg/sqlalchemy/engine/base.py", line 907, in _execute_compiled
self.__execute_raw(context)
File "/usr/lib/python2.4/site-packages/SQLAlchemy-0.4.6-py2.4.egg/sqlalchemy/engine/base.py", line 916, in __execute_raw
self._cursor_execute(context.cursor, context.statement, context.parameters[0], context=context)
File "/usr/lib/python2.4/site-packages/SQLAlchemy-0.4.6-py2.4.egg/sqlalchemy/engine/base.py", line 960, in _cursor_execute
self._handle_dbapi_exception(e, statement, parameters, cursor)
File "/usr/lib/python2.4/site-packages/SQLAlchemy-0.4.6-py2.4.egg/sqlalchemy/engine/base.py", line 942, in _handle_dbapi_exception
raise exceptions.DBAPIError.instance(statement, parameters, e, connection_invalidated=is_disconnect)
OperationalError: (OperationalError) no such table: urls u'SELECT urls.uid AS urls_uid, urls.target AS urls_target, urls.added AS urls_added, urls.public AS urls_public \nFROM urls \nWHERE urls.uid = ?' ['Nq8Qw'][/code]
Diese Fehlermeldung sagt mir, dass es keine Datenbank gibt,... Ich kenne mich allerdings nicht im geringsten mit SQLite aus...
ich habe schonmal den Befehl .databases ausgeführt und bekomme ein main und tmp zurück, was mir trotzdem nicht viel sagt...

Kann man das ganze auch mit mysql machen?
Wie müsste ich diesen Befehl dann umändern?

Code: Alles auswählen

return Shorty('sqlite:////tmp/shorty.db')


Danke!
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

Beitragvon Darii » Donnerstag 26. Juni 2008, 19:16

Du musst nichts ändern, du musst nur, wie es später auch im Tutorial steht,

Code: Alles auswählen

python manage.py initdb


aufrufen.
nemomuk
User
Beiträge: 862
Registriert: Dienstag 6. November 2007, 21:49

Beitragvon nemomuk » Donnerstag 26. Juni 2008, 19:18

OMG, vielen Dank!

:idea: :!: :?: -->Ich bedanke mich recht herzlich!

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder