- Python (使用 Flask)filesmax.com安装 Flask:
bash
pip install flask
基本结构:
app.py:主 Flask 应用文件
templates/:存放 HTML 模板
static/:存放静态文件(CSS, JS, 图片等)
app.py 示例:
python
from flask import Flask, render_template, request, redirect, url_for
app = Flask(name)
假设商品数据
products = [
{‘id’: 1, ‘name’: ‘Apple’, ‘price’: 100},
{‘id’: 2, ‘name’: ‘Banana’, ‘price’: 50},
]
@app.route(‘/’)
def index():
return render_template(‘index.html’, products=products)
@app.route(‘/buy/int:product_id’, methods=[‘POST’])
def buy(product_id):
# 简化处理,假设购买成功
return redirect(url_for(‘index’))
if name == ‘main’:
app.run(debug=True)
index.html 示例(templates/index.html):
html
商品列表
- {% for product in products %}
- {{ product.name }} - ${{ product.price }} 购买
- {% endfor %}
bash
npm init -y
npm install express
基本结构:
app.js:主应用文件
views/:存放 HTML 模板(可选,可以使用模板引擎如 Pug)
public/:存放静态文件
app.js 示例:
javascript
const express = require(‘express’);
const app = express();
const PORT = 3000;
app.use(express.static(‘public’));
app.get(‘/’, (req, res) => {
res.sendFile(__dirname + ‘/views/index.html’);
});
app.listen(PORT, () => {
console.log(Server running on port ${PORT}
);
});
注意: 对于 Node.js,你可能需要使用模板引擎如 Pug 或 EJS 来处理 HTML 模板,或使用前端框架(如 React, Vue)来处理更复杂的 UI。
- Java (使用 Spring Boot)
创建 Spring Boot 项目:
使用 Spring Initializr (https://start.spring.io/) 创建一个新的 Spring Boot 项目。
基本结构:
src/main/java/com/example/demo/:Java 源代码
src/main/resources/templates/:存放 Thymeleaf 模板
src/main/resources/static/:存放静态文件
Controller 示例:
java
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@Controller
public class ShoppingController {
@GetMapping("/")
public String index(Model model) {
// 假设商品数据
model.addAttribute("products", Arrays.asList(
new Product(1, "Apple", 100),
new Product(2, "Banana", 50)
));
return "index";
}
@PostMapping("/buy/{productId}")
public String buy(@PathVariable("productId") int productId) {
// 处理购买逻辑
return "redirect:/";
}
// 假设的 Product 类
static class Product {
由于篇幅和复杂性限制,我无法在这里直接提供完整的购物商城代码,但我可以为你概述几种不同编程语言中构建购物商城的基本结构和关键部分。这里我将使用 Python (Flask 或 Django 框架)、JavaScript (Node.js + Express)、和 Java (Spring Boot) 作为示例。
- Python (使用 Flask)
安装 Flask:
bash
pip install flask
基本结构:
app.py:主 Flask 应用文件
templates/:存放 HTML 模板
static/:存放静态文件(CSS, JS, 图片等)
app.py 示例:
python
from flask import Flask, render_template, request, redirect, url_for
app = Flask(name)
假设商品数据
products = [
{‘id’: 1, ‘name’: ‘Apple’, ‘price’: 100},
{‘id’: 2, ‘name’: ‘Banana’, ‘price’: 50},
]
@app.route(‘/’)
def index():
return render_template(‘index.html’, products=products)
@app.route(‘/buy/int:product_id’, methods=[‘POST’])
def buy(product_id):
# 简化处理,假设购买成功
return redirect(url_for(‘index’))
if name == ‘main’:
app.run(debug=True)
index.html 示例(templates/index.html):
html
商品列表
- {% for product in products %}
- {{ product.name }} - ${{ product.price }} 购买
- {% endfor %}
bash
npm init -y
npm install express
基本结构:
app.js:主应用文件
views/:存放 HTML 模板(可选,可以使用模板引擎如 Pug)
public/:存放静态文件
app.js 示例:
javascript
const express = require(‘express’);
const app = express();
const PORT = 3000;
app.use(express.static(‘public’));
app.get(‘/’, (req, res) => {
res.sendFile(__dirname + ‘/views/index.html’);
});
app.listen(PORT, () => {
console.log(Server running on port ${PORT}
);
});
注意: 对于 Node.js,你可能需要使用模板引擎如 Pug 或 EJS 来处理 HTML 模板,或使用前端框架(如 React, Vue)来处理更复杂的 UI。
- Java (使用 Spring Boot)
创建 Spring Boot 项目:
使用 Spring Initializr (https://start.spring.io/) 创建一个新的 Spring Boot 项目。
基本结构:
src/main/java/com/example/demo/:Java 源代码
src/main/resources/templates/:存放 Thymeleaf 模板
src/main/resources/static/:存放静态文件
Controller 示例:
java
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@Controller
public class ShoppingController {
@GetMapping("/")
public String index(Model model) {
// 假设商品数据
model.addAttribute("products", Arrays.asList(
new Product(1, "Apple", 100),
new Product(2, "Banana", 50)
));
return "index";
}
@PostMapping("/buy/{productId}")
public String buy(@PathVariable("productId") int productId) {
// 处理购买逻辑
return "redirect:/";
}
// 假设的 Product 类
static class Product {