Django,一个顶尖的PythonWeb框架!

繁花落尽人终散 2024-12-04 14:56:35

Django,这个Python Web框架,简直就是Web开发界的瑞士军刀,啥都能干,还干得漂亮!它提供了从数据库模型、视图、模板到表单处理等一系列功能,让你轻松搭建起功能强大的Web应用。今天,咱们就来聊聊Django的那些事儿!

Django初印象

Django是一个高级的Python Web框架,它允许你快速开发安全、可维护的网站。Django遵循MVC(Model-View-Controller)设计模式,但更常用的是MVT(Model-View-Template)这一说法,其中Template对应MVC中的View。Django还自带了一个ORM(Object-Relational Mapping)系统,让你能以面向对象的方式操作数据库。

创建Django项目搭建项目骨架

要开始一个Django项目,首先得有个项目骨架。咱们用django-admin startproject命令来创建。

django-admin startproject myproject

这条命令会在当前目录下创建一个名为myproject的文件夹,里面包含了项目的配置文件、管理脚本等。

运行开发服务器

项目创建好了,接下来得跑起来看看。进入项目目录,运行python manage.py runserver命令,Django的开发服务器就启动了。

cd myprojectpython manage.py runserver

打开浏览器,访问http://127.0.0.1:8000/,就能看到Django的欢迎页面了!

温馨提示

• Django的开发服务器默认监听127.0.0.1的8000端口,你可以通过修改命令中的参数来改变这些设置。

• 开发服务器仅用于开发和测试,不要在生产环境中使用。

创建Django应用应用是啥?

在Django中,应用是网站的一个功能模块,比如博客、论坛等。一个Django项目可以包含多个应用。

创建应用

在项目目录下,运行python manage.py startapp myapp命令来创建一个应用。

python manage.py startapp myapp

这会在项目目录下创建一个名为myapp的文件夹,里面包含了应用的配置文件、模型文件等。

注册应用

创建好了应用,还得在项目的配置文件中注册它。打开myproject/settings.py文件,在INSTALLED_APPS列表中添加应用的名称('myapp')。

INSTALLED_APPS = [    ...    'myapp',]

温馨提示

• 应用名称在注册时不需要加引号前的点(.),因为这是在同一个项目中。

• 注册应用后,Django会加载应用的配置和模型等。

玩转Django模型定义模型

模型是Django ORM的核心,它定义了数据库中的表结构。在应用的models.py文件中定义模型。

from django.db import modelsclass Article(models.Model):    title = models.CharField(max_length=200)    content = models.TextField()    pub_date = models.DateTimeField('date published')

创建数据库表

模型定义好了,接下来得在数据库中创建对应的表。运行python manage.py makemigrations命令来生成迁移文件,然后运行python manage.py migrate命令来应用迁移。

python manage.py makemigrationspython manage.py migrate

温馨提示

• 迁移是Django管理数据库变更的一种方式,它记录了模型的变化,并可以应用到数据库中。

• 在开发过程中,每次修改模型后都要生成并应用迁移。

视图与URL配置定义视图

视图是Django应用中的函数,它负责处理Web请求并返回Web响应。在应用的views.py文件中定义视图。

from django.shortcuts import renderfrom .models import Articledef article_list(request):    articles = Article.objects.all()    return render(request, 'article_list.html', {'articles': articles})

配置URL

定义了视图后,还得配置URL来关联视图和URL路径。在项目的urls.py文件中配置URL。

from django.contrib import adminfrom django.urls import pathfrom myapp import viewsurlpatterns = [    path('admin/', admin.site.urls),    path('', views.article_list, name='article_list'),]

温馨提示

• URL配置中的path函数用于定义URL路径和视图之间的映射关系。

• name参数用于给URL命名,方便在模板和视图中引用。

模板渲染创建模板

模板是Django用于生成HTML页面的文件。在项目的templates文件夹中创建模板文件(如果没有templates文件夹,可以自己创建)。

<!-- templates/article_list.html --><!DOCTYPE html><html><head>    <title>Article List</title></head><body>    <h1>Article List</h1>    <ul>        {% for article in articles %}            <li>{{ article.title }} - {{ article.pub_date }}</li>        {% endfor %}    </ul></body></html>

渲染模板

在视图中使用render函数来渲染模板,并传递上下文数据。

def article_list(request):    articles = Article.objects.all()    return render(request, 'article_list.html', {'articles': articles})

温馨提示

• 模板中的{% for ... in ... %}和{{ ... }}是Django模板语言(DTL)的语法,用于循环和变量输出。

• 渲染模板时,render函数会将上下文数据传递给模板,并在模板中进行渲染。

Django的那些小技巧

• 使用Django Admin:Django自带了一个强大的后台管理界面(Admin),你可以通过它来管理数据库中的数据。要启用Admin,只需在INSTALLED_APPS中添加'django.contrib.admin',并在项目的urls.py中配置Admin的URL。

• 自定义用户模型:如果你需要扩展Django默认的用户模型(比如添加额外的字段),可以在项目的settings.py中设置AUTH_USER_MODEL来指定自定义的用户模型。但注意,这必须在项目创建之初就设置好,因为一旦数据库中有数据了,再改用户模型就会很麻烦。

• 处理静态文件:静态文件(比如CSS、JS、图片等)在Django项目中也很重要。你需要在项目的settings.py中配置STATIC_URL和STATICFILES_DIRS等设置,然后在模板中通过{% static '...' %}标签来引用静态文件。

好啦,今天的Django之旅就到这里啦!相信你已经对Django有了初步的了解,并且能够开始用它来搭建Web应用了。Django的功能非常强大,这里只是介绍了它的一部分功能,还有更多高级功能和技巧等待你去探索和发现。如果你在使用过程中遇到了什么问题或者有什么心得体会,欢迎留言交流哦!

0 阅读:53

繁花落尽人终散

简介:连时间都在嘲笑我