Django项目初始化并配置mysql,及常见问题汇总

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**

  1. 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'),)
        
  2. 常见问题汇总

    上面的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

如果对您有帮助,赏口饭吃❤谢谢老板❤

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值