Помогите пожалуйста разобраться, я новичок в Django и никак мне не приходит идея, как такое реальзовать.
Итак: У меня есть в view.py
class IndexView(TemplateView):
TO_CODE = 'TEST'
TT_CODE = ''
template_name = "test/index.html"
cursor = connections['LSP'].cursor()
cursor.execute("SELECT RATINGS FROM LSP_TO_SETTINGS WHERE TO_CODE = '" + TO_CODE + "' AND TT_CODE IS NULL")
res = cursor.fetchall()
def get_context_data(self, **kwargs):
context = super(IndexView, self).get_context_data(**kwargs)
context['RATINGS'] = self.res
return context
такой класс,
где я подключають к сторонней базе данных 'LSP', из которой потом SQl запросом беру данные res, и в конце их представляю в Django Template.
Я б хотел зделать чтобы
TO_CODE = 'TEST'
TT_CODE = ''
как то получать из формы Django
Форму я уже создал, но никак не пойму как мне из формы передавать введенные данные в TemplateView. Если я верно понял из документации так как я хочу не получиться. Но всё же я решил Вас спросить.
Форма у меня создается из forms.py
class CodesForm(forms.Form):
TO_CODE = forms.CharField(label='TO_CODE', max_length=100)
TT_CODE = forms.CharField(label='TT_CODE', max_length=100)
urls.py
url(r'^$', views.IndexView.as_view(), name='index'),
url(r'^form/$', views.FormViews.as_view(), name='form'),
FormViews в View.py
class FormViews(FormView):
form_class = CodesForm
initial = {'key': 'value'}
template_name = 'test/contact.html'
def post(self, request, *args, **kwargs):
form = self.form_class(request.POST)
if form.is_valid():
return HttpResponseRedirect('index')
и сама форма в HTML
<form role="form" action="{% url 'form' %}" method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Submit</button>
</form>
Спасибо за любую помощь.
Updated 9 March 2017, 16:00 by roberto.kubas.