Django 创建第一个项目学习笔记
在本篇学习笔记中,我们将会学习如何使用Django框架来创建一个简单的web应用程序。我们将会遵循下列步骤:
- 安装Django并创建项目
- 创建一个app
- 定义模型
- 创建视图
- 定义URL
- 运行应用程序
安装Django并创建项目
在开始之前,请确保您的环境中已经安装了Python,并且可以在命令行中访问到它。接下来我们需要通过pip安装Django。
运行以下命令来安装Django:
Copy Codepip install django
在安装好Django后,我们可以通过以下命令来创建一个新的Django项目:
Copy Codedjango-admin startproject myproject
这将会创建一个名为“myproject”的文件夹,并包含以下文件:
Copy Codemyproject/
manage.py
myproject/
__init__.py
settings.py
urls.py
wsgi.py
其中,manage.py是用于管理整个项目的脚本,myproject文件夹包含了整个项目的代码和配置文件。
创建一个app
在Django中,app用于组织代码,并且每个app都包含着与业务逻辑相关的代码。我们可以通过以下命令来创建一个名为“myapp”的app:
Copy Codepython manage.py startapp myapp
这将会创建一个名为“myapp”的文件夹,并包含以下文件:
Copy Codemyapp/
__init__.py
admin.py
apps.py
models.py
tests.py
views.py
定义模型
在Django中,我们可以定义模型来描述数据结构,Django将会自动地根据我们的模型来生成数据库表。
比如,我们创建一个名为“Book”的模型用于记录图书的信息。我们可以这样定义该模型:
pythonCopy Codefrom 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 Codefrom django.contrib import admin
from .models import Book
admin.site.register(Book)
这将会允许我们在后台管理界面中管理Book模型。
创建视图
在Django中,我们可以创建视图来处理用户请求并返回响应。我们可以在myapp目录下的views.py文件中创建一个名为index的函数。
pythonCopy Codefrom 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 Codefrom 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 CodeINSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp', # 添加该行
]
该配置项用于告诉Django该项目中使用了哪些app。
运行应用程序
现在,我们已经完成了整个项目的编写。我们可以通过以下命令来启动Django内置的服务器:
Copy Codepython manage.py runserver
接下来,我们可以在浏览器中访问http://127.0.0.1:8000/来查看我们的应用程序。
以上是一个简单的Django项目创建过程,并记录在此学习笔记中。如果你想深入了解Django以及如何进行更高级的web开发,请参考Django官方文档:https://docs.djangoproject.com/。