Django项目初始化并配置mysql,及常见问题汇总
目录结构如下
H:.**
├─.idea
│ └─inspectionProfiles
├─app
│ ├─bank
│ │ ├─migrations
│ │ │ └─pycache
│ │ └─pycache
│ ├─customer
│ │ ├─migrations
│ │ │ └─pycache
│ │ └─pycache
│ ├─shop
│ │ ├─migrations
│ │ │ └─pycache
│ │ └─pycache
│ ├─staff
│ │ ├─migrations
│ │ │ └─pycache
│ │ └─pycache
│ └─pycache
├─static
│ ├─css
│ ├─fonts
│ ├─images
│ ├─js
│ └─layui
│ ├─css
│ │ └─modules
│ │ ├─laydate
│ │ │ └─default
│ │ └─layer
│ │ └─default
│ ├─font
│ ├─images
│ │ └─face
│ └─lay
│ └─modules
├─templates
├─test_layui
│ └─layui
│ ├─css
│ │ └─modules
│ │ ├─laydate
│ │ │ └─default
│ │ └─layer
│ │ └─default
│ ├─font
│ ├─images
│ │ └─face
│ └─lay
│ └─modules
├─venv
│ ├─Include
│ ├─Lib
│ │ ├─site-packages
│ │ │ └─pip-10.0.1-py3.6.egg
│ │ │ ├─EGG-INFO
│ │ │ └─pip
│ │ │ ├─_internal
│ │ │ │ ├─commands
│ │ │ │ ├─models
│ │ │ │ ├─operations
│ │ │ │ ├─req
│ │ │ │ ├─utils
│ │ │ │ └─vcs
│ │ │ └─_vendor
│ │ │ ├─cachecontrol
│ │ │ │ └─caches
│ │ │ ├─certifi
│ │ │ ├─chardet
│ │ │ │ └─cli
│ │ │ ├─colorama
│ │ │ ├─distlib
│ │ │ │ └─_backport
│ │ │ ├─html5lib
│ │ │ │ ├─filters
│ │ │ │ ├─treeadapters
│ │ │ │ ├─treebuilders
│ │ │ │ ├─treewalkers
│ │ │ │ └─_trie
│ │ │ ├─idna
│ │ │ ├─lockfile
│ │ │ ├─msgpack
│ │ │ ├─packaging
│ │ │ ├─pkg_resources
│ │ │ ├─progress
│ │ │ ├─pytoml
│ │ │ ├─requests
│ │ │ ├─urllib3
│ │ │ │ ├─contrib
│ │ │ │ │ └─_securetransport
│ │ │ │ ├─packages
│ │ │ │ │ ├─backports
│ │ │ │ │ └─ssl_match_hostname
│ │ │ │ └─util
│ │ │ └─webencodings
│ │ └─tcl8.6
│ └─Scripts
└─YouHuiQuan
└─pycache**
-
Django项目初始化,并配置mysql
-
根据需要创建app,创建app命令如下:
python manage.py startapp app名
-
创建后配置settings.py文件,需要配置以下部分:
-
app部分
# 这部分添加上创建的app名称 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'app.customer', 'app.bank', 'app.shop', 'app.staff', # 'django.contrib.staticfiles', ]
-
更改下面的时区为中国地段的信息,否则以后数据库取的与时间相关的字段会很懵逼
LANGUAGE_CODE = 'zh-hans' TIME_ZONE = 'Asia/Shanghai'
-
需要用到mysql的话则配置下面部分:
DATABASES = { 'default': { # 'ENGINE': 'django.db.backends.sqlite3', # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), 'ENGINE': 'django.db.backends.mysql', 'NAME': '数据库名称', # 数据库库名(需提前创建好数据库) 'USER': 'root', 'PASSWORD':'youhuiquan', 'HOST':'127.0.0.1', # 主机,我这里选本地 'PORT':'3306', # mysql端口 } }
-
配置静态目录(一般在settings文件底部),为了在template里面的html引入静态样式文件(配置后可以通过模板标签引用,也可以使用相对路径)
STATIC_URL = '/static/' STATICFILES_DIRS = ( os.path.join(BASE_DIR, 'static'), ) TEMPLATE_DIRS = (os.path.join(BASE_DIR, 'templates'),)
-
-
-
常见问题汇总
上面的settings配置完毕后,就可以开始跑项目了,以创建的部分models为例,开始调试数据库,models内容如下:
class Role(models.Model): id = models.AutoField(primary_key=True) name = models.CharField(max_length=32, null=False, verbose_name='角色名称') level = models.CharField(max_length=2, null=False, verbose_name='角色等级') insert_time = models.DateTimeField(null=False, verbose_name='数据创建时间') update_time = models.DateTimeField(null=False, verbose_name='数据更新时间') #这部分是指定的数据库表名称,不写的话迁移时候会加上APP名称,不方便,也可迁移成功 class Meta: db_table = 'role'
-
运行项目,查看是否有错误信息:
python manage.py runserver
-
运行报错
解决办法:
(1)安装pymysql,可以通过下面命令安装,也可以在pycharm里面安装,这里只留pip安装方法:
pip install pymysql
(2)安装后在settings.py的那个目录里面的init.py文件里面加上下面代码:
import pymysql pymysql.install_as_MySQLdb()
-
按照上面配好后再次运行,报错下面的情况:
解决办法:
继续修改上面改过的init.py文件,内容如下,就可以成功运行了:
import pymysql pymysql.version_info = (1, 3, 13, "final", 0) #添加这一行 pymysql.install_as_MySQLdb()
-
-
执行迁移数据库查看是否报错
迁移命令:
python manage.py makemigrations
我这里没报错,不做记录
-
执行项目后前端界面的静态css、js等取到后,样式不展示,控制台查看报出警告:Resource interpreted as Stylesheet but transferred with MIME type application/x-css
解决步骤
(1)前端界面添加下面代码(放到title标签下面即可):
<base href="/">
(2)修改注册表信息:
运行cmd: 输入regedit 并回车 在注册表HKEY_CLASSES_ROOT中找到.css 点击.css文件夹 修改Content Type 为 text/css
-
毕设没思路看这里:https://blog.csdn.net/Q893448322/article/details/107642349?spm=1001.2014.3001.5501
如果对您有帮助,赏口饭吃❤谢谢老板❤