What is NanoDjango?
NanoDjango is a minimalist web framework inspired by Django but designed for smaller projects. It provides essential features of Django without the complexity of a full-stack framework, making it perfect for microservices and simple web applications.
Key Features:
- Lightweight and fast
- Simple routing system
- Basic ORM functionality
- Minimal configuration required
Getting Started
Installation is straightforward using pip:
pip install nanodjango
Basic Usage Example
Here's a simple example of creating a basic web application with NanoDjango:
from nanodjango import NanoDjango, Response
app = NanoDjango()
@app.route('/')
def hello_world():
return Response('Hello, NanoDjango!')
@app.route('/users/:id')
def get_user(request, id):
return Response({
'user_id': id,
'message': f'Getting user {id}'
})
if __name__ == '__main__':
app.run(host='localhost', port=8000)
Working with the ORM
NanoDjango includes a simple ORM for basic database operations:
from nanodjango.orm import Model, CharField, IntegerField
class User(Model):
name = CharField(max_length=100)
age = IntegerField()
# Create a new user
user = User(name='John Doe', age=30)
user.save()
# Query users
users = User.objects.filter(age__gt=25)
Template System
NanoDjango provides a simple template system for rendering HTML:
from nanodjango import Template
template = Template('Hello, {{ name }}!')
rendered = template.render(name='World')
Why Choose NanoDjango?
Perfect for Small Projects
When you need Django's elegance but not its full complexity, NanoDjango provides a streamlined alternative.
Quick Learning Curve
Familiar Django-like syntax makes it easy for Django developers to get started quickly.