400-1513-886

全国统一服务热线

后端开发

从零开始创建一个 Django 项目

发布时间:2025-03-13 15:28:41 185 次

这篇文章的核心内容是关于如何从零开始创建一个 Django 项目,包括环境准备、项目搭建、数据库配置、模型定义、管理后台配置以及接口开发等步骤。


从零创建一个 Django 项目

1. 准备环境

  • 确保安装了 Python(推荐 3.8 或更高版本)和 pip 包管理工具。

  • 如果需要使用 MySQL 或 PostgreSQL,确保数据库已安装。

  • 创建虚拟环境以隔离项目依赖:

    python -m venv env
  • source env/bin/activate  # Linux/Mac
  • env\Scripts\activate    # Windows
  • 无法加载文件 \env\Scripts\Activate.ps1,因为在此系统上禁止运行脚本,修改Powershell运行限制。输入如下命令:Set-ExecutionPolicy RemoteSigned
  • & 'E:\python\env\Scripts\Activate.ps1'
  • 进入虚拟环境

2. 安装 Django 和数据库驱动

  • 安装 Django:

    pip install django
  • 如果使用 MySQL 或 PostgreSQL,安装对应驱动:

    pip install mysqlclient         # MySQL
  • pip install psycopg2-binary     # PostgreSQL

3. 创建 Django 项目

  • 使用 django-admin 创建项目:

    django-admin startproject myproject
  • 项目结构:

    myproject/
        manage.py
        myproject/
            settings.py
            urls.py
            asgi.py
            wsgi.py

4. 配置数据库

  • 修改 settings.py 中的 DATABASES 配置:

    • SQLite(默认):

      DATABASES = {
          'default': {
              'ENGINE': 'django.db.backends.sqlite3',
              'NAME': BASE_DIR / 'db.sqlite3',
          }}
    • MySQL:

      DATABASES = {
          'default': {
              'ENGINE': 'django.db.backends.mysql',
              'NAME': 'your_database_name',
              'USER': 'your_database_user',
              'PASSWORD': 'your_database_password',
              'HOST': 'localhost',
              'PORT': '3306',
          }}
    • PostgreSQL:

      DATABASES = {
          'default': {
              'ENGINE': 'django.db.backends.postgresql',
              'NAME': 'your_database_name',
              'USER': 'your_database_user',
              'PASSWORD': 'your_database_password',
              'HOST': 'localhost',
              'PORT': '5432',
          }}

5. 创建 Django 应用

  • 创建应用:

    python manage.py startapp myapp
  • 应用结构:

    myapp/
        migrations/
        __init__.py
        admin.py
        apps.py
        models.py
        tests.py
        views.py

6. 配置应用

  • 在 settings.py 的 INSTALLED_APPS 中添加应用:

    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'myapp',  # 添加你的应用]

7. 创建模型并生成数据库表

  • 定义模型(models.py):

    class Lesson(models.Model):
        id = models.CharField(max_length=20, primary_key=True)
        name = models.CharField(max_length=50)
  • 生成迁移文件:

    python manage.py makemigrations
  • 应用迁移文件:

    python manage.py migrate

8. 运行开发服务器

  • 启动开发服务器:

    python manage.py runserver
  • 访问 http://127.0.0.1:8000/。

9. 添加管理后台支持

  • 在 admin.py 中注册模型:

    from django.contrib import admin
  • from .models import Lesson
  • admin.site.register(Lesson)
  • 创建超级用户:

    python manage.py createsuperuser
  • 访问管理后台:http://127.0.0.1:8000/admin。

10. 测试操作数据库

  • 使用 python manage.py shell 操作数据库:

    from myapp.models import Lesson
    Lesson.objects.create(id='1', name='Django Basics')
    Lesson.objects.get(id='1')

11. 编写接口

  • 定义视图(views.py):

    from django.http import JsonResponsefrom .models import Userdef get_all_users(request):
        users = User.objects.all().values('id', 'username', 'password', 'status')
        return JsonResponse({'status': 'success', 'data': list(users)})
  • 配置 URL 路由(urls.py):

    from django.urls import pathfrom .views import get_all_users
    
    urlpatterns = [
        path('users/', get_all_users, name='get_all_users'),]

12. 使用 Django ORM

  • Django ORM 提供了抽象层,无需直接书写 SQL 代码。

  • 例如:

    users = User.objects.all()

13. 执行自定义 SQL

  • 使用 raw() 方法或 connection.cursor() 执行复杂查询:

    users = User.objects.raw("SELECT id, username, password, status FROM users")

总结

  • 从零创建 Django 项目的核心流程包括:

    1. 安装 Django 和数据库驱动。

    2. 配置数据库连接。

    3. 创建应用和模型。

    4. 生成并应用迁移文件。

    5. 运行开发服务器。

    6. 使用管理后台和编写接口。

项目结构总结

  • Django 项目支持模块化开发,可以通过 startapp 创建多个应用。

  • 每个应用包含 models.py、views.py、admin.py 等文件,用于定义数据模型、视图函数和管理后台配置。


扫码进入小程序

公司名称:广州统天网络科技有限公司

公司地址:广州市白云区石井镇潭村水闸街6号

公司电话:400-1513-886

公司邮箱:info@tongtian.tech