Получить данные, введенные пользователем - Python
Формулировка задачи:
Доброго времени суток!
Есть вопросы по поводу того, как работать с данными введенными пользователем.
Опишу всю задачу, т.к. может вообще не в том направлении двигаюсь.
Результат хочу получить такой: страница со списком товаров (количество постоянное, примерно 20 товаров). Все стандартно, название, описание, пикча, прайс и поле ввода для количества. Пользователь вводит количество и получает сумму, которую должен заплатить (тож все просто прайс * на его количество). Вот он вводит необходимое коичество в, допустим 5 товаров из 20.
Есть "сабмит", по клику на который, пользователь получает excel в виде счета с его 5 позицями. Все.
Остановился, можно сказать, в самом начале. )))
models.py
forms.py
views.py
product.html
в урлах все стандартно отобразил:
Какие проблемы я сейчас для себя вижу:
1) Ну самое первое это метод получения значения. Читал на замечательном djbook.ru, что доступиться к данным можно через cleaned_data, но безуспешно. ((
2) Есть ли возможность в django (python) выполнения метода без клика по "сабмиту", а после введения значения, получить множество (количество * прайс) сразу при вводе (что-то аналогичное setInterval в JS).
3) Вот когда я все-таки получу значение введенное пользователем и настанет момент истины и мне придется его умножать на прайс нужного мне товара, мне нужен будет объект экземпляра именно этого товара. Вот тут мне хочется переписать views.py вместо Product.objects.all() присвоить Product(). Но как тогда все товары вывести на страницу.
В общем сами видите, у меня в голове все смешалось. Если Вам не лень, помогите собрать оставшиеся мозги в кучу. )))
Листинг программы
- from django.db import models
- from django.forms import ModelForm
- class Product(models.Model):
- picture = models.ImageField(upload_to="myapp/images")
- name = models.CharField(max_length=200)
- text = models.TextField()
- price1 = models.DecimalField(max_digits=8, decimal_places=2)
- def __str__(self):
- return self.name
Листинг программы
- from django import forms
- class Quantity(forms.Form):
- number = forms.IntegerField()
Листинг программы
- from django.http import HttpResponse
- from django.shortcuts import render_to_response
- from myapp.models import Product
- from myapp.forms import Quantity
- def product(request):
- list_of_products = Product.objects.all()
- if request.method == 'POST':
- form = Quantity(request.POST)
- if form.is_valid():
- ???????????
- else: form = Quantity()
- return render_to_response('myapp/product.html', {'list_of_products': list_of_products, 'form': form,})
Листинг программы
- {% extends "myapp/main_template.html" %}
- {% load staticfiles %}
- {% block content %}
- <ul id="boxOfProduct">
- {% for product in list_of_products %}
- <li>
- <div id="nameProduct">{{ product.name }}</div>
- <div id="picture">{{ product.picture }}</div>
- <div id="productDescription">{{ product.text }}</div>
- <div id="productPrice">{{ product.price1 }}</div>
- <form action="{% url 'myapp:product' %}" method="POST">{% csrf_token %}
- {{ form }}
- <input type="submit" value="Submit" />
- </form>
- </li>
- {% endfor %}
- </ul>
- {% endblock %}
Листинг программы
- from django.conf.urls import patterns, url
- from myapp import views
- urlpatterns = patterns('',
- url(r'^$', views.home, name = 'home'),
- url(r'^about/', views.about, name = 'about'),
- url(r'^product/', views.product, name = 'product'),
Решение задачи: «Получить данные, введенные пользователем»
textual
Листинг программы
- {% extends "myapp/main_template.html" %}
- {% load staticfiles %}
- {% block content %}
- <ul id="boxOfProduct">
- {% for product in list_of_products %}
- <li>
- <div id="nameProduct">{{ product.name }}</div>
- <div id="picture">{{ product.picture }}</div>
- <div id="productDescription">{{ product.text }}</div>
- <div id="productPrice">{{ product.price1 }}</div>
- <div id="productPrice">{{ product.price2 }}</div>
- <div id="productPrice">{{ product.price3 }}</div>
- <form action="{% url 'myapp:product' %}" method="POST"><!-- {% csrf_token %} -->
- {{ form }}
- <input type="submit" value="Submit" />
- </form>
- {{ result }}
- </li>
- {% endfor %}
- </ul>
- {% endblock %}
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д