Django项目从创建到开发以及数据库连接的主要步骤,精简实用

1、项目创建
  1. 安装命令:pip install django==3 -i <https://pypi.tuna.tsinghua.edu.cn/simple>
  2. 上述命令是使用清华镜像,安装django3
  3. 在项目的创建目录执行命令:django-admin startproject 项目名称(英文)
  4. 就可以在指定目录下创建项目
  5. 创建成功的项目目录如下
python 复制代码
mysite
    manage.py       【管理项目的文件,例如运行,类自动生成数据库表,相当于一个管理工具】
    mysite
        _init_.py
        asgi.py         【此文件不需要修改,同步运行项目,编写socket,处理网络请求】
        settings.py     【项目配置文件,例如:连接数据库】
        urls.py         【根路由,会创建URL与函数的对应关系】
        wsgi.py         【此文件不需要修改,异步运行项目,编写socket,处理网络请求】
2、连接数据库

修改配置文件:setting.py

python 复制代码
 DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'HOST': '127.0.0.1',  # 数据库主机
        'PORT': 3306,  # 数据库端口
        'USER': 'root',  # 数据库用户名
        'PASSWORD': 'xxxx',  # 数据库用户密码
        'NAME': 'name'  # 数据库名字
    }
}
3、创建app(也就是网站的某个功能模块)

(1) 在终端执行命令:python manage.py startapp web

(2) 上述web是功能模块的名称

(3) 常见以后会增加一个功能模块名称的文件夹,其中的文件包括如下:

python 复制代码
migrations 【数据库的迁移记录文件夹,不需要修改】
init.py
admin.py 【内部后台管理的配置,基本不用,不需要动】
apps.py 【当前app的名字,不需要修改】
models.py 【数据库,python中的类,转化为sql语句(ORM),经常使用】
tests.py 【单元测试,基本不用】
views.py 【主要写视图函数,根路由,经常使用】
4、注册app

到settings文件中的INSTALLED_APPS中,注册此app

python 复制代码
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'depart1'
]
5、templates以及静态文件配置

(1)在app中创建templates目录和static目录

(2)templates文件夹中放置页面(这适用于前后端不分离应用,如果先后端分离应用则视情况而定)

(3)在app的views文件中创建各个页面的逻辑函数

(4)如果返回页面,在app的templates目录中创建对应的html,这里需要一个配置

python 复制代码
//一般在对应APP文件夹下寻找页面,在APP文件夹下创建templates文件夹,来存放此APP的所有页面,需要在settings文件中进行以下注册配置

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'web.apps.WebConfig',
]
6、路由配置

在urls中注册指定的url(基本完成)

python 复制代码
from django.contrib import admin
from django.urls import path
from django.shortcuts import HttpResponse

from depart1.views import test
from depart1.views import learn


def login(request):
    return HttpResponse("登录页面")

urlpatterns = [
    path('admin/', admin.site.urls),
    path('login/', login),

    path("depart1/test/", test),
    path("depart1/learn/", learn),
]
7、具体开发

(1) 在views文件中,写视图函数,并指定返回类型

(2) urls导入函数,配置路由

相关推荐
Java爱好狂.23 分钟前
分布式ID|从源码角度深度解析美团Leaf双Buffer优化方案
java·数据库·分布式·分布式id·es·java面试·java程序员
Elastic 中国社区官方博客30 分钟前
通过混合搜索重排序提升多语言嵌入模型的相关性
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
倔强的石头1061 小时前
KingbaseES:从兼容到超越,详解超越MySQL的权限隔离与安全增强
数据库·mysql·安全·金仓数据库
小鸡毛程序员1 小时前
我在CSDN学MYSQL之----数据库基本概念和基本知识(下)
数据库·mysql
程序定小飞3 小时前
基于springboot的web的音乐网站开发与设计
java·前端·数据库·vue.js·spring boot·后端·spring
小灰灰搞电子3 小时前
Rust 操作Sqlite数据库详细教程
数据库·rust·sqlite
IvorySQL3 小时前
你真的知道你正在运行哪个 PostgreSQL吗?
数据库·postgresql
l1t3 小时前
利用DeepSeek采用hugeint转字符串函数完善luadbi-duckdb的decimal处理
数据库·lua·c·duckdb·deepseek
无敌最俊朗@3 小时前
Qt 开发终极坑点手册图表版本
数据库
yumgpkpm4 小时前
Doris 并入CMP7(类Cloudera CDP 7.3.1 404华为鲲鹏ARM版)的方案和实施源代码
大数据·oracle·sqlite·sqoop·milvus·cloudera