简单快速理解一下 Django 框架
创建项目和应用:
创建一个新的Django项目:
django-admin startproject myproject
在这个项目中创建一个新的应用:
cd myproject python manage.py startapp myapp
理解模型:
在你的应用中,创建一个新的模型。例如,在
myapp/models.py
中:from django.db import models class Blog(models.Model): title = models.CharField(max_length=200) content = models.TextField()
这个模型定义了一个博客,它有一个标题和内容。每个模型都映射到数据库中的一个表。
理解视图:
在
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})
这个视图获取所有的博客,并将它们传递给一个模板。
理解模板:
创建一个模板来显示博客的列表。例如,在
myapp/templates/myapp/blog_list.html
中:{% for blog in blogs %} <h2>{{ blog.title }}</h2> <p>{{ blog.content }}</p> {% endfor %}
这个模板遍历所有的博客,并显示它们的标题和内容。
理解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
视图。使用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()
理解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']
这个表单可以用来创建和更新博客。
理解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
函数视图一样,但它使用了更少的代码。
- 理解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 协议》,转载必须注明作者和本文链接
如果我是新手建议使用Django吗
Django感觉工作量太大了