您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# 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
django-admin startproject myproject
cd myproject
项目结构说明:
myproject/
manage.py # 项目管理脚本
myproject/
__init__.py
settings.py # 项目配置
urls.py # URL路由
asgi.py # ASGI配置
wsgi.py # WSGI配置
python manage.py runserver
访问 http://127.0.0.1:8000 查看欢迎页面。
Django项目由多个应用组成,每个应用处理特定功能:
python manage.py startapp myapp
应用目录结构:
myapp/
__init__.py
admin.py # 管理后台配置
apps.py # 应用配置
models.py # 数据模型
tests.py # 测试
views.py # 视图函数
migrations/ # 数据库迁移文件
在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
在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})
在项目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'),
]
创建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>
python manage.py createsuperuser
在admin.py
中:
from django.contrib import admin
from .models import Article
admin.site.register(Article)
访问 http://127.0.0.1:8000/admin 管理数据。
在forms.py
中:
from django import forms
from .models import Article
class ArticleForm(forms.ModelForm):
class Meta:
model = Article
fields = ['title', 'content']
更新视图:
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})
Django提供完整的认证系统:
from django.contrib.auth.decorators import login_required
@login_required
def protected_view(request):
return render(request, 'protected.html')
修改settings.py
:
DEBUG = False
ALLOWED_HOSTS = ['yourdomain.com']
python manage.py collectstatic
通过以上步骤,您已经掌握了Django的基本使用方法。实际开发中,建议从简单项目开始,逐步探索Django的更多高级功能,如REST框架、异步支持、自定义中间件等。Happy coding! “`
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。