Django基础(二)Django 项目基础操作

一、实验目标

  • 熟悉 Django 基本命令

  • 理解 Django 项目和应用的目录结构

  • 掌握项目初始化、应用创建与注册、项目启动、视图函数编写、路由配置、数据库配置等基础操作


二、Django 项目初始化

  1. 进入虚拟环境

    复制代码
    source venv/bin/activate
  2. 创建 Django 项目

    复制代码
    django-admin startproject myweb
    • 目录下会出现 venv(虚拟环境)和 myweb(项目主目录)两个文件夹。
  3. 查看项目结构

    复制代码
    tree myweb
    • 主要文件说明:

      • manage.py:项目管理入口,常用来执行命令(如启动、迁移等)

      • myweb/:项目核心目录

        • __init__.py:标识为 Python 包

        • settings.py:项目配置(数据库、语言、时区等)

        • urls.py:路由分发

        • wsgi.py:WSGI 部署入口

        • asgi.py:ASGI 部署入口(支持异步)


三、创建与注册应用

  1. 创建应用

    复制代码
    cd myweb
    python manage.py startapp learn
    • 应用目录结构(learn/):

      • admin.py:后台管理

      • apps.py:应用配置

      • migrations/:数据库迁移文件

      • models.py:数据模型

      • tests.py:测试代码

      • views.py:视图函数

  2. 注册应用

    • 打开 myweb/settings.py,在 INSTALLED_APPS 列表中添加 'learn',

    • 这样 Django 才会识别并加载该应用


四、项目配置调整

  1. 允许所有主机访问

    • 修改 myweb/settings.py 中的 ALLOWED_HOSTS

      复制代码
      ALLOWED_HOSTS = ["*",]
  2. 设置语言和时区

    • 修改 myweb/settings.py

      复制代码
      LANGUAGE_CODE = 'zh-hans'
      TIME_ZONE = 'Asia/Shanghai'

五、启动项目

  • 启动开发服务器(默认端口 8000):

    复制代码
    python manage.py runserver
  • 指定端口启动:

    复制代码
    python manage.py runserver 0.0.0.0:8080
  • 访问页面即可看到 Django 欢迎页


六、编写视图函数与路由配置

  1. 编写视图函数

    • 编辑 learn/views.py,添加如下代码:

      复制代码
      from django.http import HttpResponse
      
      def index(request):
          return HttpResponse('Hello')
  2. 配置路由

    • 编辑 myweb/urls.py,引入视图并添加路由:

      复制代码
      from learn.views import index
      
      urlpatterns = [
          path('admin/', admin.site.urls),
          path('', index),  # 主页路由
      ]
    • 这样访问主页时会显示 "Hello"


七、数据库配置与初始化

  1. 默认数据库

    • Django 默认使用 Sqlite3,启动项目会自动生成 db.sqlite3 文件
  2. 初始化数据库

    复制代码
    python manage.py makemigrations
    python manage.py migrate
    • 生成并应用数据库迁移,创建数据表
  3. 切换到 MySQL 数据库

    • 修改 myweb/settings.pyDATABASES 配置:

      复制代码
      DATABASES = {
          'default': {
              'ENGINE': 'django.db.backends.mysql',
              'NAME': 'myweb',
              'USER': 'root',
              'PASSWORD': '',
              'HOST': '127.0.0.1',
              'PORT': 3306
          }
      }
    • 启动 MySQL 服务并创建数据库:

      复制代码
      sudo service mysql start
      mysql -uroot -e 'CREATE SCHEMA myweb CHARSET = UTF8'
    • 再次执行迁移命令,完成数据表创建

    • mysql -uroot

      show databases;可以看到创建的数据库


八、总结

  • 本节内容涵盖了 Django 项目的创建、应用的添加与注册、配置文件的调整、视图与路由的设置、数据库的初始化与切换等基础操作。

  • 通过这些步骤,完成了一个最基础的 Django 项目搭建,为后续深入学习数据库交互等内容打下基础。


下一步:学习 Django 与数据库的交互操作。

相关推荐
Elastic 中国社区官方博客4 小时前
在 Elasticsearch 中使用 Mistral Chat completions 进行上下文工程
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
_李小白6 小时前
【OPENGL ES 3.0 学习笔记】延伸阅读:VAO与VBO
笔记·学习·elasticsearch
编程爱好者熊浪6 小时前
两次连接池泄露的BUG
java·数据库
摇滚侠7 小时前
Spring Boot3零基础教程,Spring Boot 应用打包成 exe 可执行文件,笔记91 笔记92 笔记93
linux·spring boot·笔记
开开心心就好7 小时前
电子报纸离线保存:一键下载多报PDF工具
网络·笔记·macos·pdf·word·音视频·phpstorm
朝新_7 小时前
【SpringMVC】详解用户登录前后端交互流程:AJAX 异步通信与 Session 机制实战
前端·笔记·spring·ajax·交互·javaee
TDengine (老段)8 小时前
TDengine 字符串函数 CHAR 用户手册
java·大数据·数据库·物联网·时序数据库·tdengine·涛思数据
qq7422349848 小时前
Python操作数据库之pyodbc
开发语言·数据库·python
姚远Oracle ACE8 小时前
Oracle 如何计算 AWR 报告中的 Sessions 数量
数据库·oracle
Dxy12393102169 小时前
MySQL的SUBSTRING函数详解与应用
数据库·mysql