add form of selection
This commit is contained in:
parent
6d138ed9b7
commit
93be13ccd1
12 changed files with 92 additions and 13 deletions
21
ui/main/forms.py
Normal file
21
ui/main/forms.py
Normal file
|
@ -0,0 +1,21 @@
|
|||
from django import forms
|
||||
|
||||
class Lights(forms.Form):
|
||||
required_css_class = "list-group-item"
|
||||
|
||||
MODES = [
|
||||
('0', 'Apagar todo'),
|
||||
('1', 'Encender todo'),
|
||||
('2', 'Sala'),
|
||||
('3', 'Pasillo'),
|
||||
('4', 'Cocina'),
|
||||
('5', 'Cuarto 1'),
|
||||
('6', 'Cuarto 2'),
|
||||
|
||||
]
|
||||
light = forms.ChoiceField(
|
||||
widget=forms.RadioSelect,
|
||||
choices=MODES,
|
||||
label="Select lights to modify"
|
||||
)
|
||||
|
BIN
ui/main/static/1.jpg
Normal file
BIN
ui/main/static/1.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.4 MiB |
BIN
ui/main/static/2.jpg
Normal file
BIN
ui/main/static/2.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 904 KiB |
BIN
ui/main/static/3.jpg
Normal file
BIN
ui/main/static/3.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.6 MiB |
|
@ -22,9 +22,10 @@
|
|||
<nav class="navbar navbar-expand-md navbar-light " style="background-color: #f0f5f5">
|
||||
|
||||
{% if user.is_authenticated %}
|
||||
<a class="navbar-brand">Welcome {{ user.username }}</a>
|
||||
<a href="{% url 'logout' %}" class="navbar-brand">Log Out</a>
|
||||
{% else %}
|
||||
<a class="navbar-brand">Log In</a>
|
||||
<a class="navbar-brand"></a>
|
||||
{% endif %}
|
||||
</nav>
|
||||
<!--Any flash messages pop up in any page because this is the base template-->
|
||||
|
|
|
@ -2,12 +2,35 @@
|
|||
{% block title %} Home Manager {% endblock title%}
|
||||
{% block content %}
|
||||
|
||||
<style>
|
||||
img {
|
||||
max-width: 100%;
|
||||
object-fit: cover;
|
||||
}
|
||||
</style>
|
||||
|
||||
{% if user.is_authenticated %}
|
||||
<div class="jumbotron">
|
||||
<h1 class="display-4">Welcome {{ user.username }}</h1>
|
||||
<div class="jumbotron">
|
||||
<form action="" method="post">
|
||||
{% csrf_token %}
|
||||
<ul class="list-group">
|
||||
{{ form.as_ul }}
|
||||
</ul>
|
||||
<input class="btn btn-primary btn-lg" type="submit" value="Enable">
|
||||
</form>
|
||||
</div>
|
||||
<div class="jumbotron">
|
||||
{% load static %}
|
||||
<img src="{% static image %}" alt="My image">
|
||||
</div>
|
||||
{% else %}
|
||||
<p>You are not logged in</p>
|
||||
<a href="{% url 'login' %}">Log In</a>
|
||||
<div class="jumbotron">
|
||||
<p class="lead">You are not logged in</p>
|
||||
<p class="lead">
|
||||
<a class="btn btn-primary btn-lg" href="{% url 'login' %}" role="button">Log In</a>
|
||||
</p>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% endblock content %}
|
|
@ -1,7 +1,21 @@
|
|||
from django.shortcuts import render
|
||||
from .forms import Lights
|
||||
import ctypes
|
||||
|
||||
# Create your views here.
|
||||
|
||||
def home(request):
|
||||
return render(request, 'home.html')
|
||||
# pin_control = ctypes.CDLL("@pin_control@/lib/libpin_control.so")
|
||||
|
||||
def home(request):
|
||||
if request.method == "POST":
|
||||
form = Lights(request.POST)
|
||||
if form.is_valid():
|
||||
opt = form.cleaned_data.get("light")
|
||||
light_up_all()
|
||||
return render(request, "home.html", {"form": form, "image": f"{opt}.jpg"})
|
||||
return render(request, "home.html", {"form": Lights(), "image": "1.jpg"})
|
||||
|
||||
|
||||
def light_up_all():
|
||||
print(f"INIT: {pin_control.init_gpio()}")
|
||||
print(f"ALL_PINS: {pin_control.turn_on_all_pins()}")
|
Loading…
Add table
Add a link
Reference in a new issue