# 如何創建一個Django項目
Django是一個功能強大的Python Web框架,以其"開箱即用"的特性和清晰的MVC(模型-視圖-控制器)架構而聞名。本文將詳細介紹從零開始創建Django項目的完整流程。
## 一、環境準備
### 1. 安裝Python
Django基于Python運行,因此需要先安裝Python環境:
```bash
# 檢查Python版本(需要3.6+)
python --version
推薦使用虛擬環境隔離項目依賴:
python -m venv myenv # 創建虛擬環境
source myenv/bin/activate # 激活環境(Linux/Mac)
myenv\Scripts\activate # Windows系統
使用pip安裝最新穩定版:
pip install django
# 驗證安裝
python -m django --version
django-admin startproject mysite
這會生成以下目錄結構:
mysite/
manage.py # 項目管理腳本
mysite/ # 項目主目錄
__init__.py
settings.py # 全局配置
urls.py # 主路由配置
asgi.py # ASGI配置
wsgi.py # WSGI配置
python manage.py runserver
訪問http://127.0.0.1:8000將看到歡迎頁面。
修改settings.py
關鍵配置:
# 時區設置
TIME_ZONE = 'Asia/Shanghai'
# 語言設置
LANGUAGE_CODE = 'zh-hans'
# 允許的域名
ALLOWED_HOSTS = ['*'] # 開發時可臨時設為*
默認使用SQLite:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
如需使用MySQL:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydatabase',
'USER': 'root',
'PASSWORD': 'mypassword',
'HOST': 'localhost',
'PORT': '3306',
}
}
Django項目由多個應用組成,創建第一個應用:
python manage.py startapp blog
目錄結構新增:
blog/
migrations/ # 數據庫遷移文件
__init__.py
admin.py # 管理后臺配置
apps.py # 應用配置
models.py # 數據模型
tests.py # 測試用例
views.py # 視圖邏輯
在settings.py
中添加:
INSTALLED_APPS = [
...
'blog.apps.BlogConfig',
]
編輯blog/views.py
:
from django.http import HttpResponse
def index(request):
return HttpResponse("歡迎來到我的博客!")
在blog
目錄下創建urls.py
:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
然后在主urls.py
中包含子路由:
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('admin/', admin.site.urls),
path('blog/', include('blog.urls')),
]
編輯blog/models.py
:
from django.db import models
class Post(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title
python manage.py makemigrations
python manage.py migrate
python manage.py shell
>>> from blog.models import Post
>>> Post.objects.create(title="第一篇", content="這是內容")
python manage.py createsuperuser
編輯blog/admin.py
:
from django.contrib import admin
from .models import Post
admin.site.register(Post)
訪問/admin
即可管理數據。
在blog
下新建templates/blog
目錄
index.html
示例:
<!DOCTYPE html>
<html>
<head>
<title>我的博客</title>
</head>
<body>
{% for post in posts %}
<h2>{{ post.title }}</h2>
<p>{{ post.content }}</p>
{% endfor %}
</body>
</html>
from django.shortcuts import render
from .models import Post
def index(request):
posts = Post.objects.all()
return render(request, 'blog/index.html', {'posts': posts})
python manage.py collectstatic
創建production.py
:
from .settings import *
DEBUG = False
ALLOWED_HOSTS = ['yourdomain.com']
python manage.py runserver 8080
指定端口settings.py
配置和數據庫服務狀態settings.py
中TEMPLATES
的DIRS
配置正確通過以上步驟,你已經完成了一個基礎Django項目的搭建。接下來可以繼續開發更多功能,如用戶認證、REST API等。
提示:使用python manage.py help
可以查看所有可用命令。
“`
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。