Django 创建第一个项目学习笔记

在本篇学习笔记中,我们将会学习如何使用Django框架来创建一个简单的web应用程序。我们将会遵循下列步骤:

  1. 安装Django并创建项目
  2. 创建一个app
  3. 定义模型
  4. 创建视图
  5. 定义URL
  6. 运行应用程序

安装Django并创建项目

在开始之前,请确保您的环境中已经安装了Python,并且可以在命令行中访问到它。接下来我们需要通过pip安装Django。

运行以下命令来安装Django:

Copy Code
pip install django

在安装好Django后,我们可以通过以下命令来创建一个新的Django项目:

Copy Code
django-admin startproject myproject

这将会创建一个名为“myproject”的文件夹,并包含以下文件:

Copy Code
myproject/ manage.py myproject/ __init__.py settings.py urls.py wsgi.py

其中,manage.py是用于管理整个项目的脚本,myproject文件夹包含了整个项目的代码和配置文件。

创建一个app

在Django中,app用于组织代码,并且每个app都包含着与业务逻辑相关的代码。我们可以通过以下命令来创建一个名为“myapp”的app:

Copy Code
python manage.py startapp myapp

这将会创建一个名为“myapp”的文件夹,并包含以下文件:

Copy Code
myapp/ __init__.py admin.py apps.py models.py tests.py views.py

定义模型

在Django中,我们可以定义模型来描述数据结构,Django将会自动地根据我们的模型来生成数据库表。

比如,我们创建一个名为“Book”的模型用于记录图书的信息。我们可以这样定义该模型:

pythonCopy Code
from django.db import models class Book(models.Model): title = models.CharField(max_length=100) author = models.CharField(max_length=50) publish_date = models.DateField() def __str__(self): return self.title

在上述代码中,我们定义了一个Book模型,它包含着title、author、publish_date三个属性,分别表示书名、作者和出版日期。最后,我们覆写了__str__方法用于在打印对象时显示书名。

需要注意的是,我们必须将该模型注册到我们的app中。打开myapp目录下的admin.py文件,添加以下代码:

pythonCopy Code
from django.contrib import admin from .models import Book admin.site.register(Book)

这将会允许我们在后台管理界面中管理Book模型。

创建视图

在Django中,我们可以创建视图来处理用户请求并返回响应。我们可以在myapp目录下的views.py文件中创建一个名为index的函数。

pythonCopy Code
from django.shortcuts import render from django.http import HttpResponse from .models import Book def index(request): books = Book.objects.all() context = {'books': books} return render(request, 'myapp/index.html', context)

在上述代码中,我们首先从数据库中获取了所有的Book对象,并将它们保存到一个名为books的变量中。接下来,我们创建了一个context字典,该字典包含了我们要传递给模板的数据。最后,我们使用render函数来渲染一个名为index.html的模板,并传入了该字典。

定义URL

在Django中,我们可以通过定义URL来将用户的请求路由到相应的视图。我们可以在myproject目录下的urls.py文件中定义URL。

pythonCopy Code
from django.contrib import admin from django.urls import path, include from myapp import views urlpatterns = [ path('admin/', admin.site.urls), path('', views.index, name='index'), ]

在上述代码中,我们首先导入了views模块,然后创建了一个名为urlpatterns的列表,该列表包含了所有的URL及其对应的视图函数。注意,在本例中,我们将空路径''映射到了views.index函数,这将会使得我们的网站主页使用该视图。

还需要在myproject目录下的settings.py文件中添加一个INSTALLED_APPS配置项:

pythonCopy Code
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'myapp', # 添加该行 ]

该配置项用于告诉Django该项目中使用了哪些app。

运行应用程序

现在,我们已经完成了整个项目的编写。我们可以通过以下命令来启动Django内置的服务器:

Copy Code
python manage.py runserver

接下来,我们可以在浏览器中访问http://127.0.0.1:8000/来查看我们的应用程序。

以上是一个简单的Django项目创建过程,并记录在此学习笔记中。如果你想深入了解Django以及如何进行更高级的web开发,请参考Django官方文档:https://docs.djangoproject.com/。