Django创建项目+连通mysql的操作方法
1:django-admin.py startproject 项目名
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 <module>
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()
好啦 至此常用的都配置完成了