我正在尝试在我的 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. 获取立即购买和添加到购物车等选项
我不太了解 Django,但搜索 docs 后的第一印象是你在 {{ form.as_p }} 上缺少 () 。
这可能会导致表单无法正确呈现。