个人技术分享

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

修改配置文件:setting.py

 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) 常见以后会增加一个功能模块名称的文件夹,其中的文件包括如下:

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

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

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,这里需要一个配置

//一般在对应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(基本完成)

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导入函数,配置路由