简单快速理解一下 Django 框架

  1. 创建项目和应用

    创建一个新的Django项目:

    django-admin startproject myproject

    在这个项目中创建一个新的应用:

    cd myproject
    
    python manage.py startapp myapp
  2. 理解模型

    在你的应用中,创建一个新的模型。例如,在myapp/models.py中:

    from django.db import models
    
    class Blog(models.Model):
        title = models.CharField(max_length=200)
        content = models.TextField()

    这个模型定义了一个博客,它有一个标题和内容。每个模型都映射到数据库中的一个表。

  3. 理解视图

    myapp/views.py中,创建一个视图来显示博客的列表:

    from django.shortcuts import render
    from .models import Blog
    
    def blog_list(request):
        blogs = Blog.objects.all()
        return render(request, 'myapp/blog_list.html', {'blogs': blogs})

    这个视图获取所有的博客,并将它们传递给一个模板。

  4. 理解模板

    创建一个模板来显示博客的列表。例如,在myapp/templates/myapp/blog_list.html中:

    {% for blog in blogs %}
        <h2>{{ blog.title }}</h2>
        <p>{{ blog.content }}</p>
    {% endfor %}

    这个模板遍历所有的博客,并显示它们的标题和内容。

  5. 理解URL分发器

    myapp/urls.py中,创建一个URL模式来映射到你的视图:

    from django.urls import path
    from . import views
    
    urlpatterns = [
        path('blogs/', views.blog_list, name='blog_list'),
    ]

    这个URL模式将/blogs/映射到blog_list视图。

  6. 使用Django的数据库API

    你可以使用Django的数据库API来操作你的模型。例如:

    # 创建一个新的博客
    blog = Blog(title='My First Blog', content='Hello, world!')
    blog.save()
    
    # 获取所有的博客
    blogs = Blog.objects.all()
    
    # 获取标题为"My First Blog"的博客
    blog = Blog.objects.get(title='My First Blog')
    
    # 更新博客的内容
    blog.content = 'Hello, Django!'
    blog.save()
    
    # 删除博客
    blog.delete()
  7. 理解Django的表单

    Django的表单可以帮助你处理HTML表单。例如,在myapp/forms.py中:

    from django import forms
    from .models import Blog

    class BlogForm(forms.ModelForm):
        class Meta:
            model = Blog
            fields = ['title', 'content']

这个表单可以用来创建和更新博客。

  1. 理解Django的类视图

    Django的类视图可以帮助你复用代码。例如,在myapp/views.py中:

from django.views.generic import ListView
from .models import Blog

class BlogListView(ListView):
    model = Blog
    template_name = 'myapp/blog_list.html'
    context_object_name = 'blogs'

这个类视图做的事情和前面的blog_list函数视图一样,但它使用了更少的代码。

  1. 理解Django的中间件

Django的中间件可以全局地改变Django的输入或输出。例如,你可以创建一个中间件来记录所有的请求:

class LoggingMiddleware:
    def __init__(self, get_response):
        self.get_response = get_response

    def __call__(self, request):
        print(f'Request URL: {request.path}')
        response = self.get_response(request)
        return response

这个中间件将打印所有的请求URL。你需要将它添加到你的MIDDLEWARE设置中才能使它生效。

以上就是一些基于Django的基础知识点的示例代码和注释,希望对你有所帮助。如果你想要深入学习Django,我建议你查看Django的官方文档,它是一个非常详细的资源。

本作品采用《CC 协议》,转载必须注明作者和本文链接
微信搜索:上帝喜爱笨人
讨论数量: 4

如果我是新手建议使用Django吗

10个月前 评论
Aliliin (楼主) 10个月前

Django感觉工作量太大了

10个月前 评论
Aliliin (楼主) 10个月前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!