别再只学Python语法了!Django框架入门到实战,轻松做Web项目

内容分享2天前发布
0 3 0

为什么选择Django开发Wed

在Python Web开发领域,Django是“全能选手”。相比轻量的Flask,它更像“重型武器”,自带数据库抽象层、用户认证、表单处理、管理界面等功能。就像建房子,Django已备好大部分材料和工具,还内置防SQL注入、XSS、CSRF等安全机制,让应用从一开始就有坚固防线。

别再只学Python语法了!Django框架入门到实战,轻松做Web项目

环境搭建

安装Python

Django基于Python,先去Python官网下载最新版本,安装时勾选“Add Python to PATH”,方便命令行调用。

创建虚拟环境

虚拟环境能隔离项目依赖,避免版本冲突。用Python内置的venv模块:

• 打开命令行,切换到项目目录(如D:projects),执行:python -m venv myenv(myenv是环境名,可自定义)。

• 激活环境:Windows用myenvScriptsactivate,Mac/Linux用source myenv/bin/activate,激活后命令行提示符前会显示环境名。

安装Django

在激活的环境中,执行pip install django安装最新版,或pip install django==4.2指定版本。安装后用django-admin –version检查,输出版本号即成功。

别再只学Python语法了!Django框架入门到实战,轻松做Web项目

创建Django项目

新建项目

在虚拟环境中执行:django-admin startproject myproject .(myproject是项目名,末尾的.表明在当前目录创建)。生成的文件包括:

• myproject/:项目根目录,含配置文件。

• manage.py:命令行工具,用于运行服务器、数据库迁移等。

• settings.py:项目配置(数据库、应用、静态文件等)。

• urls.py:URL与视图的映射配置。

• wsgi.py:部署用的WSGI配置。

运行开发服务器

执行python manage.py runserver,默认监听http://127.0.0.1:8000/。打开浏览器访问该地址,看到成功页面即项目运行正常。开发服务器会自动重载代码,但仅用于开发,生产环境需用Nginx、Apache等。

创建应用

Django中,一个项目可包含多个应用(如电商的用户、商品、订单模块)。以博客应用为例:

1. 执行python manage.py startapp blog,生成blog文件夹,含:

◦ models.py:定义数据库模型(用Python类表明数据结构)。

◦ views.py:编写视图函数,处理请求并返回响应。

◦ admin.py:注册模型到管理后台,方便数据管理。

2. 注册应用:打开settings.py,在INSTALLED_APPS列表添加'blog.apps.BlogConfig'。

数据库操作

定义模型

别再只学Python语法了!Django框架入门到实战,轻松做Web项目

在blog/models.py中定义博客文章模型:

from django.db import models

from django.utils import timezone

class Post(models.Model):

title = models.CharField(max_length=200) # 标题,字符串类型

content = models.TextField() # 正文,长文本类型

published_date = models.DateTimeField(default=timezone.now) # 发布时间,默认当前时间

def __str__(self):

return self.title # 打印对象时显示标题

迁移数据库

将模型同步到数据库:

1. 执行python manage.py makemigrations,生成记录数据库结构变化的迁移文件。

2. 执行python manage.py migrate,应用迁移文件,创建blog_post表。

数据库操作示例

执行python manage.py shell进入交互式命令行,可直接操作数据:

• 创建文章:

from blog.models import Post

post = Post(title='第一篇博客', content='正文内容', published_date=timezone.now())

post.save()

• 查询所有文章:posts = Post.objects.all(),循环打印post.title等字段。

• 条件查询:Post.objects.filter(title__contains='博客')(查标题含“博客”的文章)。

• 更新:post = Post.objects.get(id=1); post.content='更新内容'; post.save()。

• 删除:post = Post.objects.get(id=1); post.delete()。

视图与URL配置

编写视图函数

在blog/views.py中写处理请求的逻辑,例如显示所有博客:

from django.shortcuts import render

from .models import Post

def post_list(request):

posts = Post.objects.all() # 获取所有文章

# 渲染模板,传递数据给页面

return render(request, 'blog/post_list.html', {'posts': posts})

配置URL

1. 在blog文件夹新建urls.py,定义应用内URL:

from django.urls import path

from . import views

urlpatterns = [

path('', views.post_list, name='post_list'), # 访问/blog/时调用post_list

]

2. 在项目urls.py中关联应用URL:

from django.contrib import admin

from django.urls import path, include

urlpatterns = [

path('admin/', admin.site.urls),

path('blog/', include('blog.urls')), # 转发/blog/开头的请求到blog应用

]

别再只学Python语法了!Django框架入门到实战,轻松做Web项目

模板

模板定义页面样式,在blog下创建templates/blog文件夹,新建post_list.html:

<!DOCTYPE html>

<html>

<head><title>博客列表</title></head>

<body>

<h1>博客文章列表</h1>

{% for post in posts %} <!– 循环遍历文章数据 –>

<div>

<h2>{{ post.title }}</h2> <!– 显示标题 –>

<p>{{ post.content }}</p> <!– 显示正文 –>

<p>发布时间:{{ post.published_date }}</p> <!– 显示时间 –>

</div>

{% endfor %}

</body>

</html>

访问
http://127.0.0.1:8000/blog/,即可看到所有博客文章。

别再只学Python语法了!Django框架入门到实战,轻松做Web项目

总结与展望

以上完成了简单Django项目的搭建,包括环境、项目、应用创建,数据库操作,视图、URL和模板配置。这只是Django的冰山一角,它还有用户认证、权限管理、表单处理等高级功能。学习中遇到问题欢迎留言,点赞关注,后续分享更多实战内容!

#py thon#​#每天学python#​#python打卡#​

© 版权声明

相关文章

3 条评论

  • 头像
    燕灰灰 读者

    厉害

    无记录
    回复
  • 头像
    痛困萌主 投稿者

    一起学习

    无记录
    回复
  • 头像
    绿色 读者

    收藏了,感谢分享

    无记录
    回复