Py学习  »  Django

Django创建项目+连通mysql

安静主义 • 3 年前 • 402 次点击  
阅读 5

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()
复制代码

好啦 至此常用的都配置完成了

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/108424
 
402 次点击