# Blitz Work
## Blitz Work is a Django-based framework for rapid application development
### How to use
1. Add blitz_work to installed apps in settings.py.
```python
INSTALLED_APPS = [
...,
...,
'blitz_work',
]
```
2. Create the models.
```python
from django.db import models
class Author(models.Model):
name = models.CharField(verbose_name="Name", max_length=255)
birth_date = models.DateField(verbose_name="Birth date")
class Meta:
verbose_name = "Author"
verbose_name_plural = "Authors"
def __str__(self):
return self.name
class Book(models.Model):
title = models.CharField(verbose_name="Title", max_length=255)
publication_date = models.DateField(verbose_name="Publication date")
authors = models.ManyToManyField(Author,verbose_name="Authors")
class Meta:
verbose_name = "Book"
verbose_name_plural = "Books"
def __str__(self):
return self.title
```
3. Create the template.
```html
{% extends 'blitz_base_offline.html' %}
{% block main %}
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="#">Test</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNavDropdown">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="{% url 'book/view' %}">Libros</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'author/view' %}">Autores</a>
</li>
</ul>
</div>
</nav>
{% block content %}{% endblock %}
{% endblock %}
```
4. Create the views.
```python
from Book.models import Author, Book
from blitz_work.blitzcrud import BlitzCRUD
class BookCRUD(BlitzCRUD):
show_title = True
show_caption = False
caption_is_title = True
extend_template = "base.html"
data = Book
class AuthorCRUD(BlitzCRUD):
show_title = True
show_caption = False
caption_is_title = True
extend_template = "base.html"
data = Author
```
5. Include the URLs.
```python
from app.views import AuthorCRUD, BookCRUD
from django.urls import path,include
from blitz_work.blitzcrud import get_urls
urlpatterns = [
path('book/', include(get_urls(BookCRUD,"book"))),
path('author/', include(get_urls(AuthorCRUD,"author"))),
]
```
6. More help
1. Include Blitz Work help urls in urls.py
```python
from blitz_work.urls import urlpatterns
urlpatterns = [
path('',include(urlpatterns)),
]
```
2. Run the server.
```bash
python manage.py runserver localhost:8000
```
3. Go to the url [blitz-doc-en/](http://localhost:8000/blitz-doc-en/) or [blitz-doc-es/](http://localhost:8000/blitz-doc-es/)