django写一个景点售票系统
时间: 2024-06-09 17:12:33 浏览: 65
javaweb课程设计景点门票销售系统
5星 · 资源好评率100%
好的,下面是一个简单的 Django 景点售票系统的搭建步骤:
1. 创建 Django 项目
首先,使用命令行进入到一个合适的目录下,然后使用以下命令创建 Django 项目:
```
django-admin startproject ticket_system
```
2. 创建 Django 应用
使用以下命令创建一个名为 `tickets` 的 Django 应用:
```
cd ticket_system
python manage.py startapp tickets
```
3. 定义模型
在 `tickets/models.py` 文件中定义景点和订单的模型:
```python
from django.db import models
class Spot(models.Model):
name = models.CharField(max_length=100)
price = models.FloatField()
class Order(models.Model):
spot = models.ForeignKey(Spot, on_delete=models.CASCADE)
quantity = models.IntegerField()
total_price = models.FloatField()
```
4. 创建数据库表
运行以下命令创建数据库表:
```
python manage.py makemigrations
python manage.py migrate
```
5. 创建视图
在 `tickets/views.py` 文件中定义视图函数:
```python
from django.shortcuts import render
from django.http import HttpResponse
from .models import Spot, Order
def index(request):
spots = Spot.objects.all()
return render(request, 'index.html', {'spots': spots})
def order(request):
spot_id = request.POST.get('spot_id')
quantity = request.POST.get('quantity')
spot = Spot.objects.get(id=spot_id)
total_price = spot.price * int(quantity)
order = Order.objects.create(spot=spot, quantity=quantity, total_price=total_price)
return HttpResponse(f"订单创建成功,订单号为{order.id}")
```
6. 创建模板
在 `tickets/templates` 目录下创建 `index.html` 模板文件:
```html
<!DOCTYPE html>
<html>
<head>
<title>景点售票系统</title>
</head>
<body>
<h1>景点列表</h1>
<ul>
{% for spot in spots %}
<li>{{ spot.name }}({{ spot.price }}元)</li>
<form method="post" action="{% url 'order' %}">
{% csrf_token %}
<input type="hidden" name="spot_id" value="{{ spot.id }}">
<input type="number" name="quantity" min="1" max="10">
<button type="submit">购买</button>
</form>
{% endfor %}
</ul>
</body>
</html>
```
7. 配置路由
在 `ticket_system/urls.py` 文件中配置路由:
```python
from django.urls import path
from tickets.views import index, order
urlpatterns = [
path('', index, name='index'),
path('order', order, name='order'),
]
```
8. 运行项目
最后,使用以下命令运行项目:
```
python manage.py runserver
```
现在,打开浏览器访问 `http://127.0.0.1:8000/`,就可以看到景点列表,并能够购买门票了。
阅读全文