一聚教程网:一个值得你收藏的教程网站

热门教程

Django创建项目+连通mysql操作方法代码

时间:2022-06-29 08:45:20 编辑:袖梨 来源:一聚教程网

本篇文章小编给大家分享一下Django创建项目+连通mysql操作方法代码,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。

1:django-admin.pystartproject项目名

2:cd 项目名

3:修改setting.py

(1):ALLOWED_HOSTS = []=>ALLOWED_HOSTS = [“*”]

(2):LANGUAGE_CODE = 'en-us' => LANGUAGE_CODE = 'zh-hans'

(3):TIME_ZONE = 'UTC' => TIME_ZONE = 'Asia/Shanghai'

4:创建app

django-admin.py startproject app名

5:修改setting.py

INSTALLED_APPS数组增加=>'app名'

6:项目目录下新增utils文件夹用来封装多个app公共方法

7:app目录下新增util文件用来封装耽搁app通用方法

8:app目录下新增view文件夹,里面存放各个页面的逻辑代码

9:app目录下新增路由文件(urls.py),用来存放此app下的所有路由

格式:
	from django.urls import path
	from .views import wx_pay
	urlpatterns = [
		 path("test", wx_pay.wx_pay().test, name="test"), # 测试
	]

10:添加app路由至项目路由中;修改项目目录下的urls.py

from django.contrib import admin
from django.urls import path, include
from H5 import urls as h5_urls
urlpatterns = [
		path('admin/', admin.site.urls),
	path("h5/", include(h5_urls))
]

至此django项目目录结构已经配置结束了,后面即可进入开发环节了。

开发时我们往往会用到数据库;下面介绍下怎么配置数据库

11:修改项目目录下的setting.py

默认:
DATABASES = {
 'default': {
  'ENGINE': 'django.db.backends.sqlite3',
  'NAME': BASE_DIR / 'db.sqlite3',
 }
}
修改后:
DATABASES = {
 'default': {
 ‘ENGINE' :'django.db.backends.mysql',
 'NAME':'数据库名(以下称DATABASE1)',
 'USER':'用户名',
 ‘PASSWORD':'数据库密码',
 'HOST':'ip地址',
 'PORT':'端口'
 }
}

12:打开数据库新增上面配置的数据库名(DATABASE1)

13:配置model,进入app目录的models.py文件

import time

from django.db import models

# Create your models here.

 class Test(models.Model):
  str = models.CharField("字符串", max_length=30, null=True, blank=True)
  num = models.IntegerField("数字", default=1, null=True, blank=True)
  create_time = models.DateTimeField("时间", default=time.strftime('%Y-%m-%d %H:%M:%S'), blank=True)

14:迁移数据至数据库

python manage.py makemigrations

python manage.py migrate

15:这时候大概率会报错如下:

Traceback (most recent call last):

中间省略若干

"/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/MySQLdb/__init__.py", line 24, in

version_info, _mysql.version_info, _mysql.__file__

NameError: name '_mysql' is not defined

此报错主要因为Mysqldb 不兼容 python3.5 以后的版本

16:修改项目目录下的__init_.py,增加以下代码

import pymysql

pymysql.version_info = (1, 4, 13, "final", 0)

pymysql.install_as_MySQLdb()

热门栏目