Django怎么使用

发布时间:2021-12-21 14:40:13 作者:小新
来源:亿速云 阅读:320
# Django怎么使用

## 1. Django简介

Django是一个高级Python Web框架,由经验丰富的开发者构建,旨在帮助开发者快速构建高效、安全的Web应用程序。它遵循"Don't Repeat Yourself"(DRY)原则,提供了许多内置功能,如ORM(对象关系映射)、模板引擎、表单处理和用户认证系统。

### 主要特点:
- **全栈框架**:包含开发Web应用所需的大部分组件
- **开箱即用**:自带管理后台、认证系统等
- **可扩展性强**:支持中间件、第三方插件
- **安全性高**:自动处理SQL注入、XSS等常见安全问题

## 2. 安装与项目创建

### 2.1 安装Django

确保已安装Python(建议3.6+版本),然后使用pip安装:

```bash
pip install django

验证安装:

django-admin --version

2.2 创建项目

django-admin startproject myproject
cd myproject

项目结构说明:

myproject/
    manage.py         # 项目管理脚本
    myproject/
        __init__.py
        settings.py   # 项目配置
        urls.py       # URL路由
        asgi.py       # ASGI配置
        wsgi.py       # WSGI配置

2.3 运行开发服务器

python manage.py runserver

访问 http://127.0.0.1:8000 查看欢迎页面。

3. 创建应用

Django项目由多个应用组成,每个应用处理特定功能:

python manage.py startapp myapp

应用目录结构:

myapp/
    __init__.py
    admin.py        # 管理后台配置
    apps.py         # 应用配置
    models.py       # 数据模型
    tests.py        # 测试
    views.py        # 视图函数
    migrations/     # 数据库迁移文件

4. 核心组件使用

4.1 模型(Models)

models.py中定义数据模型:

from django.db import models

class Article(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    pub_date = models.DateTimeField(auto_now_add=True)
    
    def __str__(self):
        return self.title

创建并应用迁移:

python manage.py makemigrations
python manage.py migrate

4.2 视图(Views)

views.py中编写视图逻辑:

from django.shortcuts import render
from .models import Article

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

4.3 URL路由

在项目urls.py中包含应用路由:

from django.urls import path, include

urlpatterns = [
    path('articles/', include('myapp.urls')),
]

在应用目录创建urls.py

from django.urls import path
from . import views

urlpatterns = [
    path('', views.article_list, name='article_list'),
]

4.4 模板(Templates)

创建templates/articles/list.html

<!DOCTYPE html>
<html>
<head>
    <title>文章列表</title>
</head>
<body>
    <h1>文章列表</h1>
    <ul>
    {% for article in articles %}
        <li>{{ article.title }} - {{ article.pub_date }}</li>
    {% endfor %}
    </ul>
</body>
</html>

5. Django Admin后台

5.1 创建超级用户

python manage.py createsuperuser

5.2 注册模型

admin.py中:

from django.contrib import admin
from .models import Article

admin.site.register(Article)

访问 http://127.0.0.1:8000/admin 管理数据。

6. 表单处理

6.1 创建表单

forms.py中:

from django import forms
from .models import Article

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

6.2 处理表单提交

更新视图:

from django.shortcuts import render, redirect
from .forms import ArticleForm

def create_article(request):
    if request.method == 'POST':
        form = ArticleForm(request.POST)
        if form.is_valid():
            form.save()
            return redirect('article_list')
    else:
        form = ArticleForm()
    return render(request, 'articles/create.html', {'form': form})

7. 用户认证

Django提供完整的认证系统:

from django.contrib.auth.decorators import login_required

@login_required
def protected_view(request):
    return render(request, 'protected.html')

8. 部署准备

8.1 生产环境设置

修改settings.py

DEBUG = False
ALLOWED_HOSTS = ['yourdomain.com']

8.2 收集静态文件

python manage.py collectstatic

8.3 常用部署方式

9. 最佳实践

  1. 项目结构优化:将设置分为开发/生产环境
  2. 使用环境变量:保护敏感信息
  3. 合理使用缓存:提升性能
  4. 编写测试:确保代码质量
  5. 定期更新:保持Django版本最新

10. 学习资源

通过以上步骤,您已经掌握了Django的基本使用方法。实际开发中,建议从简单项目开始,逐步探索Django的更多高级功能,如REST框架、异步支持、自定义中间件等。Happy coding! “`

推荐阅读:
  1. 91django_基本使用
  2. Django 之 母版使用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

django

上一篇:如何进行cherry-pick的分析

下一篇:s标签是不是html5新加的

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》