Python Web框架Pylons中使用MongoDB的例子
Pylons 经过漫长的开发,终于放出了 1.0 版本。对于正规的产品开发来说,1.0 版本的意义很大,这表明 Pylons 的 API 终于稳定下来了。
Pylons 虽是山寨 Rails 而生,但作为一个纯 Python 的 Web 框架,它有一个鲜明的特点:可定制性强。框架每一层都没重新发明轮子,而是尽量整合现有的 Python 库。在 MVC 的 Model 层,Pylons 默认支持 SQLAlchemy。现在 NoSQL 很火 MongoDB 很热。在 Pylons 中应用 MongoDB 也很简单。下面是一个简单的示例。
在 PROJECT/model/__init__.py 中定义 MongoDB 初始化函数和映射对象:
from ming import Session
from ming import schema
from ming.orm import MappedClass
from ming.orm import FieldProperty, ForeignIdProperty, RelationProperty
from ming.orm import ThreadLocalORMSession
session = None
def init_single_model(model_class):
model_class.__mongometa__.session = session
class Page(MappedClass):
class __mongometa__:
session = session
name = 'pages'
_id = FieldProperty(schema.ObjectId)
title = FieldProperty(str)
content = FieldProperty(str)
def init_model(engine):
global session
session = ThreadLocalORMSession(doc_session=Session(engine))
init_single_model(Page)
MappedClass.compile_all()
在 PROJECT/config/environment.py 中进行初始化:
from ..model import init_model
from ming.datastore import DataStore
def load_environment(global_conf, app_conf):
...
# Create the Mako TemplateLookup, with the default auto-escaping
config['pylons.app_globals'].mako_lookup = TemplateLookup(
directories=paths['templates'],
error_handler=handle_mako_error,
module_directory=os.path.join(app_conf['cache_dir'], 'templates'),
input_encoding='utf-8', default_filters=['escape'],
imports=['from webhelpers.html import escape'])
# Setup the mongodb database engine
init_model(DataStore(config['database.uri']))
# CONFIGURATION OPTIONS HERE (note: all config options will override
# any Pylons config options)
return config
最后在 development.ini 中加入 MongoDB 的配置项:
[app:main]
database.uri = mongodb://localhost:27017/test
如果需要在程序安装时初始化一些数据, 可以在 PROJECT/websetup.py 中加入
"""Setup the wukong application"""
import logging
import pylons.test
from .config.environment import load_environment
from . import model
log = logging.getLogger(__name__)
def setup_app(command, conf, vars):
"""Place any commands to setup wukong here"""
# Don't reload the app if it was loaded under the testing environment
if not pylons.test.pylonsapp:
load_environment(conf.global_conf, conf.local_conf)
log.info("Adding demo data.")
page = model.Page(title='demo', content='This is for demo.')
model.session.flush()
log.info("Successfully set up.")
这里使用了 Ming 库来连接 MongoDB 并做简单的 ORM。Ming 库是对 PyMongo 的 ORM 包装库。它是 SourceForge 用 TurboGears 和 MongoDB 对网站进行重构的副产物。使用起来有点象 SQLAlchemy ORM 。在上面的示例中,也可以把 Ming 替换成 MongoKit 或其它 MongoDB 的 ORM 库,甚至直接用 PyMongo 也无不可。
有种感觉,MongoDB 会火。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Zu den Lösungen zur Behebung von Navicat-Ablaufproblemen gehören: Erneuern der Lizenz; Deaktivieren der automatischen Updates; Wenden Sie sich an den Navicat-Kundendienst.

Für Front-End-Entwickler hängt die Schwierigkeit, Node.js zu erlernen, von ihrer JavaScript-Grundlage, ihrer serverseitigen Programmiererfahrung, ihrer Vertrautheit mit der Befehlszeile und ihrem Lernstil ab. Die Lernkurve umfasst Module für Einsteiger und Fortgeschrittene, die sich auf grundlegende Konzepte, serverseitige Architektur, Datenbankintegration und asynchrone Programmierung konzentrieren. Insgesamt ist das Erlernen von Node.js für Entwickler, die über solide Kenntnisse in JavaScript verfügen und bereit sind, Zeit und Mühe zu investieren, nicht schwierig, aber für diejenigen, denen es an einschlägiger Erfahrung mangelt, müssen möglicherweise bestimmte Herausforderungen bewältigt werden.

Um mit Navicat eine Verbindung zu MongoDB herzustellen, müssen Sie: Navicat installieren. Eine MongoDB-Verbindung erstellen: a. Geben Sie den Verbindungsnamen, die Hostadresse und den Port ein. b. Geben Sie die Authentifizierungsinformationen ein (falls erforderlich). Überprüfen Sie die Verbindung Speichern Sie die Verbindung

Zu den am häufigsten verwendeten Modulen in Node.js gehören: Dateisystemmodul für Dateioperationen Netzwerkmodul für Netzwerkkommunikation Stream-Modul zur Verarbeitung von Datenströmen Datenbankmodul zur Interaktion mit Datenbanken Andere Hilfsmodule wie Verschlüsselung, Abfragezeichenfolgen, String-Analyse und HTTP-Framework

.NET 4.0 wird zum Erstellen einer Vielzahl von Anwendungen verwendet und bietet Anwendungsentwicklern umfangreiche Funktionen, darunter objektorientierte Programmierung, Flexibilität, leistungsstarke Architektur, Cloud-Computing-Integration, Leistungsoptimierung, umfangreiche Bibliotheken, Sicherheit, Skalierbarkeit, Datenzugriff und Mobilgeräte Entwicklungsunterstützung.

Bei Node.js-Anwendungen hängt die Auswahl einer Datenbank von den Anwendungsanforderungen ab. Die NoSQL-Datenbanken MongoDB bieten Flexibilität, Redis bietet hohe Parallelität, Cassandra verarbeitet Zeitreihendaten und Elasticsearch ist auf die Suche spezialisiert. Die SQL-Datenbank MySQL bietet eine hervorragende Leistung, PostgreSQL ist reich an Funktionen, SQLite ist leichtgewichtig und Oracle Database ist umfassend. Berücksichtigen Sie bei der Auswahl Datentypen, Abfragen, Leistung, Transaktionalität, Verfügbarkeit, Lizenzierung und Kosten.

Schritte zum Herstellen einer Verbindung zu einer Datenbank in Node.js: Installieren Sie das MySQL-, MongoDB- oder PostgreSQL-Paket. Erstellen Sie ein Datenbankverbindungsobjekt. Öffnen Sie eine Datenbankverbindung und behandeln Sie Verbindungsfehler.

Um eine Verbindung zu einer Datenbank in Node.js herzustellen, müssen Sie ein Datenbanksystem (relational oder nicht relational) auswählen und anschließend eine Verbindung mit für diesen Typ spezifischen Modulen herstellen. Zu den gängigen Modulen gehören MySQL (MySQL), PG (PostgreSQL), Mongodb (MongoDB) und Redis (Redis). Nachdem die Verbindung hergestellt wurde, können Sie Abfrageanweisungen zum Abrufen von Daten und Aktualisierungsanweisungen zum Ändern der Daten verwenden. Schließlich muss die Verbindung geschlossen werden, wenn alle Vorgänge abgeschlossen sind, um Ressourcen freizugeben. Verbessern Sie Leistung und Sicherheit, indem Sie diese Best Practices befolgen, z. B. die Verwendung von Verbindungspooling, parametrisierten Abfragen und eine ordnungsgemäße Fehlerbehandlung.
