如何在 Django 应用程序中添加多个按钮

问题描述 投票:0回答:1

我正在尝试在我的 django 应用程序中添加 3 个按钮
1.生成摩尔斯电码
2. 加入购物车
3. 立即购买

我尝试使用一键“添加到购物车”,但它没有发布。(我是菜鸟)

我正在添加我的代码以供进一步参考。

Views.py 文件

# morsecode/views.py
from django.shortcuts import render
from .forms import MorseCodeForm

MORSE_CODE_DICT = {
    'A': '.-', 'B': '-...', 'C': '-.-.', 'D': '-..', 'E': '.',
    'F': '..-.', 'G': '--.', 'H': '....', 'I': '..', 'J': '.---',
    'K': '-.-', 'L': '.-..', 'M': '--', 'N': '-.', 'O': '---',
    'P': '.--.', 'Q': '--.-', 'R': '.-.', 'S': '...', 'T': '-',
    'U': '..-', 'V': '...-', 'W': '.--', 'X': '-..-', 'Y': '-.--',
    'Z': '--..', '1': '.----', '2': '..---', '3': '...--',
    '4': '....-', '5': '.....', '6': '-....', '7': '--...',
    '8': '---..', '9': '----.', '0': '-----', ', ': '--..--',
    '.': '.-.-.-', '?': '..--..', '/': '-..-.', '-': '-....-',
    '(': '-.--.', ')': '-.--.-'
}

def text_to_morse(text):
    morse_code = []
    for char in text.upper():
        if char == ' ':
            morse_code.append(' ')
        else:
            morse_code.append(MORSE_CODE_DICT.get(char, char))
    return '\n'.join(morse_code)

def morsecode_converter(request):
    input_text = ''
    morse_code = ''

    if request.method == 'POST':
        form = MorseCodeForm(request.POST)
        if form.is_valid():
            input_text = form.cleaned_data['text_input']
            morse_code = text_to_morse(input_text)
    else:
        form = MorseCodeForm()

    return render(request, 'main.html', {'form': form, 'input_text': input_text, 'morse_code': morse_code})

Forms.py 文件

# morsecode/forms.py
from django import forms

class MorseCodeForm(forms.Form):
    text_input = forms.CharField(label='Enter text', max_length=100)

这是我的 Django HTML 页面

<!-- morsecode/main.html -->


{% extends "base.html" %}

{% block title %}Morse code Converter{% endblock %}

{% block content %}
<h2>Morse Code Converter</h2>
<div class = "container-main">

<form method="post" class = "form-container">
    {% csrf_token %}
    <div>
        {{ form.as_p }}
    </div>
    <button type="submit">Convert to Morse Code</button>
</form>

{% if input_text %}
<div class="result-container">
    <h2>Result</h2>
<p><strong>Input Text:</strong> {{ input_text }}</p>
<p><strong>Morse Code:</strong></p>
<pre>{{ morse_code }}</pre>
</div>
</div>
{% endif %}
{% endblock %}

我已经有一个购物车应用程序

#to create a cart Item


CartItem.objects.create(user=request.user, product_name=product_name, price=price)

从用户的角度来看,我希望它的工作方式如下:
1.他输入一个字符串
2. 点击生成
3.会显示莫尔斯电码
4. 获取立即购买和添加到购物车等选项

python-3.x django django-forms django-templates
1个回答
0
投票

我不太了解 Django,但搜索 docs 后的第一印象是你在 {{ form.as_p }} 上缺少 () 。

这可能会导致表单无法正确呈现。

© www.soinside.com 2019 - 2024. All rights reserved.