📅  最后修改于: 2023-12-03 15:24:56.395000             🧑  作者: Mango
Django 是一个高效、易用、功能丰富的 Python Web 框架。在本文中,我们将讨论如何使用 Django 制作一个简单的预订网站。我们将演示如何使用 Django 的各种特性,例如视图、模板和表单。
如果您还没有安装 Django,可以使用以下命令安装:
pip install Django
现在,我们将创建一个名为“booking”的 Django 项目。在命令行中输入以下命令:
django-admin startproject booking
这将创建一个名为“booking”的项目目录,并在其中包含一些文件和文件夹。
现在,让我们创建一个名为“reservation”的 Django 应用程序。在项目目录中输入以下命令:
python manage.py startapp reservation
这将在项目目录中创建一个名为“reservation”的文件夹,并在其中包含一些文件和文件夹。
我们将使用 SQLite 作为我们的数据库。在“booking/settings.py”中,确保您的数据库设置如下所示:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
在“reservation/models.py”中,我们将定义一个名为“Bookings”的模型,其中包含预订的相关信息。以下是我们的模型:
from django.db import models
class Bookings(models.Model):
name = models.CharField(max_length=255)
email = models.EmailField()
phone_number = models.CharField(max_length=20)
date = models.DateField()
time = models.TimeField()
在“reservation/views.py”中,我们将创建一个名为“booking”的视图,它将处理提交的预订表单。以下是我们的视图:
from django.shortcuts import render, redirect
from .models import Bookings
from .forms import BookingForm
def booking(request):
if request.method == 'POST':
form = BookingForm(request.POST)
if form.is_valid():
booking = form.save(commit=False)
booking.save()
return redirect('booking_confirmation')
else:
form = BookingForm()
return render(request, 'reservation/booking.html', {'form': form})
在这个视图中,我们首先检查请求的方法是否为POST。如果是,我们将处理提交的表单数据。否则,我们将返回一个新的空表单。
现在,我们将创建一个名为“BookingForm”的表单,它将用于预订。在“reservation/forms.py”中,定义以下表单:
from django import forms
from .models import Bookings
class BookingForm(forms.ModelForm):
class Meta:
model = Bookings
fields = ['name', 'email', 'phone_number', 'date', 'time']
最后,我们将创建一个名为“booking.html”的模板,它将显示预订表单。在“reservation/templates/reservation”文件夹中,创建以下模板:
{% extends 'base.html' %}
{% block content %}
<h1>Booking</h1>
<form method="POST" action="{% url 'booking' %}">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Book</button>
</form>
{% endblock %}
现在,我们将配置一个名为“booking”的 URL,它将指向我们在第6步中创建的视图。在“reservation/urls.py”中,定义以下 URL:
from django.urls import path
from . import views
urlpatterns = [
path('booking/', views.booking, name='booking'),
]
现在,我们可以运行我们的应用程序,看看它是否工作正常了。在项目目录中,输入以下命令:
python manage.py runserver
然后在浏览器中访问“http://localhost:8000/reservation/booking/”,即可看到我们的表单,可以测试预订功能了。
本文介绍了使用 Django 制作预订网站的步骤。我们涉及了很多 Django 的特性,例如视图、模板和表单,以及如何配置数据库和 URL。尽管我们创建的网站非常基础,但是它展示了 Django 强大的功能,让开发一个更完整的网站变得更加容易。