/qdjango

QDjango, a Qt-based C++ web framework

Primary LanguageC++GNU Lesser General Public License v2.1LGPL-2.1

QDjango - a Qt-based C++ web framework
Copyright (c) 2010-2015 Jeremy Lainé

Build Status

About

QDjango is a web framework written in C++ and built on top of the Qt library. Where possible it tries to follow django's API, hence its name.

It is released under the terms of the GNU Lesser General Public License, version 2.1 or later.

To learn more about QDjango, please read the online documentation.

Requirements

QDjango builds and is auto-tested both with Qt 4 and Qt 5.

Qt 4 on Debian:

sudo apt-get install libqt4-dev

Qt 5 on Debian:

sudo apt-get install qtbase5-dev

Qt 4 on Mac OS X:

sudo port install qt4-mac

Building QDjango

mkdir build
cd build
qmake ..
make

You can pass the following arguments to qmake:

PREFIX=<prefix>                 to change the install prefix
                                default:
                                    unix:  /usr/local on unix
                                    other: $$[QT_INSTALL_PREFIX]
QDJANGO_LIBRARY_TYPE=staticlib  to build a static version of QDjango

Mailing list

If you wish to discuss QDjango, you are welcome to join the QDjango group.

Notes

MSSQL

Fast forward cursors are used by default. This greatly improves performance, and has the added benefit of implicitly converting to a static cursor when it needs to. Unfortunately, this also means that these cursors can block a connection to the server. In order to deal properly with this situation, there are a few requirements:

  • Connection pooling must be enabled in your ODBC manager
  • You must enable Multiple Active Result Sets in the QODBC driver using "MARS_Connection=Yes" in the connection string
  • You must enable connection pooling in the QODBC driver using the "SQL_ATTR_CONNECTION_POOLING" attribute