Как мне манипулировать текстом, представленным в форме Django? - PullRequest
0 голосов
/ 25 сентября 2019

Я хочу, чтобы пользователь мог ввести слово, нажать «отправить», а затем увидеть его слово во всех заглавных буквах на следующей странице.(Это не мое последнее намерение, просто полезный путь для прогресса).

views.py:

from django.http import HttpResponse
from django.template import loader
from .models import Word
from django.http import HttpResponseRedirect
from django.shortcuts import render
from .forms import WordForm

def wordinput(request):

    if request.method == 'POST':
        form = WordForm(request.POST)
        if form.is_valid():            
            return HttpResponseRedirect('/thanks/')    
    else:
        form = WordForm()

    return render(request, 'word.html', {'form': form})

def your_word(request):
    form = WordForm()

    if request.method == 'POST': # and form.is_valid():        
        word = WordForm(request.POST)
        word = str(word)
        word = word.upper()
        return HttpResponse(word)   

    else:        
        return HttpResponse("that didn't work")     

forms.py:

from django import forms

class WordForm(forms.Form):
    your_word = forms.CharField(label='Type your word here', max_length=100, required = True)


word.html:

<form action="/wordsearch/your-word/" method="post">
    {% csrf_token %}
    {{ form }}
    <input type="submit" value="Search">
</form>

urls.py:

from django.contrib import admin
from django.urls import include, path

from . import views

urlpatterns = [
    path('wordinput/', views.wordinput, name='wordinput'),    
    path('your-word/', views.your_word, name='your_word')
]

Результат: Введите ваше слово здесь: ASDF

((В этом результате «ASDF» находится вкоробка и манипуляция))

Желаемый результат: ASDF

((желаемый результат просто на экране))

1 Ответ

1 голос
/ 25 сентября 2019

Вместо word = str(word) используйте word = str(word.cleaned_data["your_word"]).

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