📜  如何逐步使用 django 制作预订网站 - Python (1)

📅  最后修改于: 2023-12-03 15:24:56.395000             🧑  作者: Mango

如何逐步使用 Django 制作预订网站 - Python

简介

Django 是一个高效、易用、功能丰富的 Python Web 框架。在本文中,我们将讨论如何使用 Django 制作一个简单的预订网站。我们将演示如何使用 Django 的各种特性,例如视图、模板和表单。

步骤
1. 安装 Django

如果您还没有安装 Django,可以使用以下命令安装:

pip install Django
2. 创建 Django 项目

现在,我们将创建一个名为“booking”的 Django 项目。在命令行中输入以下命令:

django-admin startproject booking

这将创建一个名为“booking”的项目目录,并在其中包含一些文件和文件夹。

3. 创建 Django 应用程序

现在,让我们创建一个名为“reservation”的 Django 应用程序。在项目目录中输入以下命令:

python manage.py startapp reservation

这将在项目目录中创建一个名为“reservation”的文件夹,并在其中包含一些文件和文件夹。

4. 配置数据库

我们将使用 SQLite 作为我们的数据库。在“booking/settings.py”中,确保您的数据库设置如下所示:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}
5. 定义模型

在“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()
6. 创建视图

在“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。如果是,我们将处理提交的表单数据。否则,我们将返回一个新的空表单。

7. 创建表单

现在,我们将创建一个名为“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']
8. 创建模板

最后,我们将创建一个名为“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 %}
9. 配置 URL

现在,我们将配置一个名为“booking”的 URL,它将指向我们在第6步中创建的视图。在“reservation/urls.py”中,定义以下 URL:

from django.urls import path
from . import views

urlpatterns = [
    path('booking/', views.booking, name='booking'),
]
10. 运行应用程序

现在,我们可以运行我们的应用程序,看看它是否工作正常了。在项目目录中,输入以下命令:

python manage.py runserver

然后在浏览器中访问“http://localhost:8000/reservation/booking/”,即可看到我们的表单,可以测试预订功能了。

结论

本文介绍了使用 Django 制作预订网站的步骤。我们涉及了很多 Django 的特性,例如视图、模板和表单,以及如何配置数据库和 URL。尽管我们创建的网站非常基础,但是它展示了 Django 强大的功能,让开发一个更完整的网站变得更加容易。