【服务端】使用conda虚拟环境部署Django项目

写在开头

为了与客户端的Deep search配合,需要整一个后台管理来保存和管理deep search的数据资料。选择前端框架Vue-Vben-Admin + Django后台服务来实现这个项目。

废话结束,从零开始。。。。

一、环境搭建

1. 安装 Anaconda

  • 下载 Anaconda :访问 Anaconda 官方网站,选择适合 Ubuntu 系统的版本进行下载。

  • 安装 Anaconda :在终端中运行以下命令进行安装:

    bash 复制代码
    bash Anaconda3-2023.07-1-Linux-x86_64.sh

    按照安装向导进行操作,安装过程中建议将 Anaconda 添加到系统环境变量中。

2. 创建虚拟环境

  • 打开终端:在 Ubuntu 上打开终端。

  • 创建虚拟环境 :

    bash 复制代码
    conda create -n mydjango python=3.8

    这里的 mydjango 是虚拟环境的名称,python=3.8 指定 Python 版本为 3.8。

  • 激活虚拟环境 :

    bash 复制代码
    conda activate mydjango

3. 安装 Django

  • 在虚拟环境中安装 Django :

    bash 复制代码
    pip install django
  • 验证 Django 是否安装成功 :

    bash 复制代码
    django-admin --version

    如果显示 Django 的版本号,说明安装成功。

二、项目创建与配置

1. 创建 Django 项目

  • 创建项目 :

    bash 复制代码
    django-admin startproject myproject

    这里的 myproject 是项目的名称。

  • 进入项目目录 :

    bash 复制代码
    cd myproject

2. 创建应用

  • 创建应用 :

    bash 复制代码
    python manage.py startapp myapp

    这里的 myapp 是应用的名称。

3. 配置应用

  • 在 myproject/settings.py 中配置应用 :
    找到 INSTALLED_APPS 列表,添加你的应用名称。例如:

    python 复制代码
    INSTALLED_APPS = [
        ...
        'myapp.apps.MyappConfig',
    ]

4. 配置数据库

  • 在 myproject/settings.py 中配置数据库 :
    默认情况下,Django 使用 SQLite 数据库。如果你需要使用其他数据库(如 PostgreSQL、MySQL 等),需要修改 DATABASES 配置。例如,配置 PostgreSQL 数据库:

    python 复制代码
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql',
            'NAME': 'mydatabase',
            'USER': 'mydatabaseuser',
            'PASSWORD': 'mypassword',
            'HOST': 'localhost',
            'PORT': '5432',
        }
    }

    然后安装相应的数据库驱动:

    bash 复制代码
    pip install psycopg2-binary

    如果使用 MySQL 数据库,配置如下:

    python 复制代码
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'mydatabase',
            'USER': 'mydatabaseuser',
            'PASSWORD': 'mypassword',
            'HOST': 'localhost',
            'PORT': '3306',
        }
    }

    安装 MySQL 驱动:

    bash 复制代码
    pip install mysqlclient

三、模型设计

  • 在 myapp/models.py 中定义数据模型 :
    例如:

    python 复制代码
    from django.db import models
    
    class 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
  • 运行迁移命令使模型生效 :

    bash 复制代码
    python manage.py makemigrations
    python manage.py migrate

四、视图编写

  • 在 myapp/views.py 中编写视图逻辑 :
    例如:

    python 复制代码
    from django.shortcuts import render
    from .models import MyModel
    
    def my_view(request):
        items = MyModel.objects.all()
        return render(request, 'myapp/template.html', {'items': items})

五、URL 路由配置

  • 在 myapp 目录下创建 urls.py 文件 :

    python 复制代码
    from django.urls import path
    from . import views
    
    urlpatterns = [
        path('myroute/', views.my_view, name='my_view'),
    ]
  • 在 myproject/urls.py 中包含应用的 URL 路由 :

    python 复制代码
    from django.contrib import admin
    from django.urls import include, path
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('myapp/', include('myapp.urls')),
    ]

六、模板创建

  • 在 myapp 目录下创建 templates/myapp 文件夹,并在其中创建 template.html 文件 :

    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 中配置模板路径 :

    python 复制代码
    TEMPLATES = [
        {
            ...
            'DIRS': [BASE_DIR / 'templates'],
            ...
        },
    ]

七、运行开发服务器

  • 启动开发服务器 :

    bash 复制代码
    python manage.py runserver
  • 在浏览器中访问项目 :
    打开浏览器,访问 http://127.0.0.1:8000/myapp/myroute/ 查看结果。

八、测试项目

  • 创建一个测试数据 :
    在终端中运行以下命令进入 Django shell:

    bash 复制代码
    python manage.py shell

    然后执行以下 Python 代码创建一个测试数据:

    python 复制代码
    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接口等可以根据实际需求进一步扩展功能。结束,感谢!

相关推荐
高级程序源4 小时前
django校园寻物通失物招领平台32261-计算机课程设计、毕业设计
vue.js·python·mysql·小程序·django·flask·课程设计
WeiXin_DZbishe4 小时前
基于springboot宠物领养系统-计算机毕设 附源码【课程设计】94217
vue.js·spring boot·python·django·php·课程设计
kimnoic4 小时前
Python数据库学习心得:SQLite、MySQL、PostgreSQL优缺点
开发语言·python
snhna4 小时前
向量数据库深度实战:从 HNSW 到 pgvector、Milvus 选型与 RAG 落地
数据库·人工智能·python·postgresql·milvus
必须得开心呀5 小时前
python编写带界面的软件,需要安装哪些插件
开发语言·python
Wx-bishekaifayuan5 小时前
express皖美特色农产品网售系统53118-计算机课程设计、毕业设计
人工智能·spring boot·后端·python·课程设计·express·旅游
青少儿编程课堂6 小时前
迪杰斯特拉(Dijkstra)算法:单源最短路与赛场路线规划
c++·python·算法·bfs·信息学竞赛
计算机编程指导师6 小时前
【计算机毕设推荐】基于Hadoop+Spark的公共交通运营数据分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·计算机·数据分析·spark·交通
Wx-bishekaifayuan6 小时前
springboot汉中旅游服务平台41442-计算机课程设计、毕业设计
spring boot·后端·python·django·课程设计·express·旅游
WeiXin_DZbishe6 小时前
基于springboot城市公交实时运营与调度系统-计算机毕设 附源码【课程设计】66173
java·vue.js·spring boot·后端·python·php·课程设计