# 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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。