Перенаправить на другую страницу после отправки формы и получения значения из поля ввода - PullRequest
0 голосов
/ 06 ноября 2019

Я новичок в Django, но знаю кое-что и все еще нуждаюсь в вашей помощи.

Я хочу, чтобы пользователь отправлял кнопку после помещения информации в область поиска, чтобы перенаправить ее на другую страницу и принять данные для будущего использования. .

Что я делал до сих пор:

в models.py

from django.db import models
from django.contrib import auth


class Child(models.Model):
    name = models.CharField(max_length=150, blank=True)

в forms.py

from django import forms
from .models import Child

class ChildlForm(forms.ModelForm):
    class Meta:
        model = Child
        fields = ('name',)

в views.py

from django.shortcuts import render
import numpy as np
import pandas as pd

def home(request):
    form = ChildForm()
    if request.method == "POST":
        form = ChildForm(request.POST)
        if form.is_valid():
            data = form.save(commit=True)
        else:
            return 'main/test.html'
        return render(request,'main/index2.html',{'name':data.name})
    return render(request,'main/index.html',{'form':form})

'test.html' - это место, где пользователь должен заполнить форму. Я хочу, чтобы после отправки информации данные были сохранены, а затем перенаправлены в файл garden.html.

test.html file

<form method="POST">
    {{ form }}
    {% csrf_token %}
    <input class="form-control mr-sm-2" type="text">
    <button type="submit">OK</button>
  </form>

форма готова для поискашаблон размещен на начальной загрузке.

Не могли бы вы помочь успешно связать файлы и получить данные (имя) для дальнейшего использования в garden.html?

В index2.html

{% extends "base.html" %}{% block content %}
  {{b}}
{% endblock content %}

1 Ответ

1 голос
/ 06 ноября 2019
def home(request):
    form = ChildForm()
    if request.method == "POST":
        form = ChildForm(request.POST)
        if form.is_valid():
            data = form.save(commit=True)
            name=data.name
            symbols = [name]
            yahoo_financials = YahooFinancials(symbols)
            new_data = pd.DataFrame()
            for s in symbols :
            new_data[s] = wb.DataReader(s, data_source ='yahoo', start = '2014-1-1')['Adj Close']

            a = new_data[s]
            b = a[-1]
            context={
            'name':name,
            'b':b
            }
        else:
            form = ChildForm()
            return render(request,'test.html',{'form':form})
        return render(request,'garden.html',context)
    return render(request,'test.html',{'form':form})

кроме того, в вашем коде есть опечатка

class ChildlForm(forms.ModelForm):
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...