【玩转全栈】----Django基本配置和介绍

Django 基本介绍

Django 是一个基于 Python 的高性能 Web 框架,采用 MTV(Model-Template-View)模式,内置 ORM、Admin 后台、表单处理等功能,适合快速开发安全、可维护的 Web 应用。

Django 安装配置

确保已安装 Python(3.6+),通过 pip 安装 Django:

bash 复制代码
pip install django

验证安装:

bash 复制代码
django-admin --version

创建项目

使用命令行创建项目骨架:

bash 复制代码
django-admin startproject myproject

目录结构说明:

  • manage.py:项目管理脚本。
  • myproject/settings.py:全局配置(数据库、中间件等)。
  • myproject/urls.py:主路由配置。

运行开发服务器

进入项目目录,启动开发服务器:

bash 复制代码
python manage.py runserver

默认访问 http://127.0.0.1:8000

关键配置项

修改 settings.py 以适配需求:

  • 数据库 :默认为 SQLite,可切换 MySQL/PostgreSQL:

    python 复制代码
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'mydatabase',
            'USER': 'root',
            'PASSWORD': 'password',
        }
    }
  • 时区与语言

    python 复制代码
    LANGUAGE_CODE = 'zh-hans'
    TIME_ZONE = 'Asia/Shanghai'
  • 静态文件 :配置 STATIC_URLSTATIC_ROOT

创建应用

Django 项目由多个应用组成,创建应用:

bash 复制代码
python manage.py startapp myapp

settings.pyINSTALLED_APPS 中添加应用名:

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

数据模型与迁移

myapp/models.py 中定义模型:

python 复制代码
from django.db import models

class Article(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()

生成并执行迁移:

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

路由与视图

  1. 视图 :在 myapp/views.py 中定义逻辑:

    python 复制代码
    from django.shortcuts import render
    def home(request):
        return render(request, 'home.html')
  2. 路由 :在 myapp/urls.py 中配置路径:

    python 复制代码
    from django.urls import path
    from . import views
    urlpatterns = [
        path('', views.home, name='home'),
    ]

    在主路由 myproject/urls.py 中引入应用路由:

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

模板渲染

myapp/templates/ 下创建模板文件(如 home.html),使用 Django 模板语法动态渲染数据。

Admin 后台

创建超级用户:

bash 复制代码
python manage.py createsuperuser

访问 http://127.0.0.1:8000/admin 登录,在 myapp/admin.py 中注册模型:

python 复制代码
from django.contrib import admin
from .models import Article
admin.site.register(Article)

注意事项

  • 调试模式:开发时 DEBUG=True,生产环境必须设为 False
  • 安全密钥:SECRET_KEY 需保密,避免泄露。
  • 跨域问题:生产环境需配置 ALLOWED_HOSTS 或使用 CORS 中间件。
相关推荐
阿沁QWQ2 天前
C++哈希表设计
开发语言·c++·散列表
一直都在5723 天前
数据结构入门:哈希表和树结构
数据结构·算法·散列表
coderxiaohan4 天前
【C++】用哈希表封装unordered_map和unordered_set
开发语言·c++·散列表
CoderYanger5 天前
C.滑动窗口-求子数组个数-越长越合法——3325. 字符至少出现 K 次的子字符串 I
c语言·数据结构·算法·leetcode·职场和发展·哈希算法·散列表
R-G-B6 天前
哈希表(hashtable),哈希理论,数组实现哈希结构 (C语言),散列理论 (拉链发、链接发),散列实现哈希结构,c++ 实现哈希
c语言·哈希算法·散列表·哈希表·数组实现哈希结构·散列实现哈希结构·c++ 实现哈希
coderxiaohan6 天前
【C++】哈希表实现
数据结构·哈希算法·散列表
老鱼说AI6 天前
算法基础教学:哈希表
数据结构·算法·散列表
如竟没有火炬7 天前
四数相加贰——哈希表
数据结构·python·算法·leetcode·散列表
UP_Continue7 天前
C++--哈希封装my_unordered_set和my_unordered_map
c++·哈希算法·散列表
beordie.cloud7 天前
LeetCode 49. 字母异位词分组 | 从排序到计数的哈希表优化之路
算法·leetcode·散列表