引言
Django 是一个高级的 Python Web 框架,鼓励快速开发和干净、实用的设计。它旨在帮助开发者构建安全且高效的 Web 应用程序。本文将带你快速入门 Django,掌握必备的命令,并教你如何搭建一个简单的 Web 应用。
安装 Django
在开始之前,确保你的系统中已安装 Python。然后,使用以下命令安装 Django:
pip install django
创建项目
创建一个新的 Django 项目,使用以下命令:
django-admin startproject myproject
这将在当前目录下创建一个名为 myproject
的目录,其中包含你的 Django 项目的所有文件。
运行开发服务器
进入项目目录,并运行以下命令来启动开发服务器:
cd myproject
python manage.py runserver
创建应用
在你的项目中创建一个新的应用,使用以下命令:
python manage.py startapp myapp
这将在 myproject
目录下的 apps
文件夹中创建一个名为 myapp
的目录,其中包含应用的文件。
配置 URLs
在 myproject/urls.py
文件中,导入 myapp
应用的 URLs 并包含到项目 URLs 中:
from django.contrib import admin
from django.urls import path
from myapp import views
urlpatterns = [
path('admin/', admin.site.urls),
path('', views.home, name='home'),
]
在 myapp/urls.py
文件中,定义一个视图 home
:
from django.shortcuts import render
def home(request):
return render(request, 'home.html')
创建一个名为 home.html
的文件在 myapp/templates/myapp/
目录下,并添加以下内容:
<!DOCTYPE html>
<html>
<head>
<title>我的 Django 应用</title>
</head>
<body>
<h1>欢迎来到我的 Django 应用!</h1>
</body>
</html>
定义模型
在你的应用中定义一个模型,例如 models.py
:
from django.db import models
class MyModel(models.Model):
name = models.CharField(max_length=100)
description = models.TextField()
运行以下命令来创建数据库迁移:
python manage.py makemigrations myapp
python manage.py migrate
创建视图
在 views.py
文件中,定义一个视图来展示模型数据:
from django.shortcuts import render
from .models import MyModel
def list_items(request):
items = MyModel.objects.all()
return render(request, 'list_items.html', {'items': items})
创建一个名为 list_items.html
的文件在 myapp/templates/myapp/
目录下,并添加以下内容:
<!DOCTYPE html>
<html>
<head>
<title>列表页面</title>
</head>
<body>
<h1>项目列表</h1>
<ul>
{% for item in items %}
<li>{{ item.name }} - {{ item.description }}</li>
{% endfor %}
</ul>
</body>
</html>
更新 myapp/urls.py
文件,将 list_items
视图添加到 URL 配置中:
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
path('items/', views.list_items, name='list_items'),
]
总结
通过以上步骤,你已经完成了 Django 的快速入门,并搭建了一个简单的 Web 应用。Django 提供了丰富的功能和强大的工具,可以帮助你构建更加复杂和功能丰富的 Web 应用程序。继续学习和探索 Django 的更多特性,让你的 Web 开发之旅更加精彩!