寫在開頭
為了與客戶端的Deep search配合,需要整一個后臺管理來保存和管理deep search的數據資料。選擇前端框架Vue-Vben-Admin + Django后臺服務來實現這個項目。
廢話結束,從零開始。。。。
一、環境搭建
1. 安裝 Anaconda
- 下載 Anaconda:訪問 Anaconda 官方網站,選擇適合 Ubuntu 系統的版本進行下載。
- 安裝 Anaconda:在終端中運行以下命令進行安裝:
按照安裝向導進行操作,安裝過程中建議將 Anaconda 添加到系統環境變量中。bash Anaconda3-2023.07-1-Linux-x86_64.sh
2. 創建虛擬環境
- 打開終端:在 Ubuntu 上打開終端。
- 創建虛擬環境:
這里的conda create -n mydjango python=3.8
mydjango
是虛擬環境的名稱,python=3.8
指定 Python 版本為 3.8。 - 激活虛擬環境:
conda activate mydjango
3. 安裝 Django
- 在虛擬環境中安裝 Django:
pip install django
- 驗證 Django 是否安裝成功:
如果顯示 Django 的版本號,說明安裝成功。django-admin --version
二、項目創建與配置
1. 創建 Django 項目
- 創建項目:
這里的django-admin startproject myproject
myproject
是項目的名稱。 - 進入項目目錄:
cd myproject
2. 創建應用
- 創建應用:
這里的python manage.py startapp myapp
myapp
是應用的名稱。
3. 配置應用
- 在
myproject/settings.py
中配置應用:
找到INSTALLED_APPS
列表,添加你的應用名稱。例如:INSTALLED_APPS = [...'myapp.apps.MyappConfig', ]
4. 配置數據庫
- 在
myproject/settings.py
中配置數據庫:
默認情況下,Django 使用 SQLite 數據庫。如果你需要使用其他數據庫(如 PostgreSQL、MySQL 等),需要修改DATABASES
配置。例如,配置 PostgreSQL 數據庫:
然后安裝相應的數據庫驅動:DATABASES = {'default': {'ENGINE': 'django.db.backends.postgresql','NAME': 'mydatabase','USER': 'mydatabaseuser','PASSWORD': 'mypassword','HOST': 'localhost','PORT': '5432',} }
如果使用 MySQL 數據庫,配置如下:pip install psycopg2-binary
安裝 MySQL 驅動:DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'mydatabase','USER': 'mydatabaseuser','PASSWORD': 'mypassword','HOST': 'localhost','PORT': '3306',} }
pip install mysqlclient
三、模型設計
- 在
myapp/models.py
中定義數據模型:
例如:from django.db import modelsclass MyModel(models.Model):name = models.CharField(max_length=100)description = models.TextField()created_at = models.DateTimeField(auto_now_add=True)def __str__(self):return self.name
- 運行遷移命令使模型生效:
python manage.py makemigrations python manage.py migrate
四、視圖編寫
- 在
myapp/views.py
中編寫視圖邏輯:
例如:from django.shortcuts import render from .models import MyModeldef my_view(request):items = MyModel.objects.all()return render(request, 'myapp/template.html', {'items': items})
五、URL 路由配置
- 在
myapp
目錄下創建urls.py
文件:from django.urls import path from . import viewsurlpatterns = [path('myroute/', views.my_view, name='my_view'), ]
- 在
myproject/urls.py
中包含應用的 URL 路由:from django.contrib import admin from django.urls import include, pathurlpatterns = [path('admin/', admin.site.urls),path('myapp/', include('myapp.urls')), ]
六、模板創建
- 在
myapp
目錄下創建templates/myapp
文件夾,并在其中創建template.html
文件:<!DOCTYPE html> <html> <head><title>My Page</title> </head> <body><h1>Items</h1><ul>{% for item in items %}<li>{{ item.name }} - {{ item.description }}</li>{% endfor %}</ul> </body> </html>
- 在
myproject/settings.py
中配置模板路徑:TEMPLATES = [{...'DIRS': [BASE_DIR / 'templates'],...}, ]
七、運行開發服務器
- 啟動開發服務器:
python manage.py runserver
- 在瀏覽器中訪問項目:
打開瀏覽器,訪問http://127.0.0.1:8000/myapp/myroute/
查看結果。
八、測試項目
- 創建一個測試數據:
在終端中運行以下命令進入 Django shell:
然后執行以下 Python 代碼創建一個測試數據:python manage.py shell
from myapp.models import MyModel MyModel.objects.create(name='Test Item', description='This is a test item.')
- 刷新瀏覽器:
再次訪問http://127.0.0.1:8000/myapp/myroute/
,你應該能看到剛剛創建的測試數據。
以上是使用 conda 在 Ubuntu 上部署 Django 項目,其他內容,比如添加表單、用戶誰、API接口等可以根據實際需求進一步擴展功能。結束,感謝!