Django 创建app 应用,数据库配置
一.create project
mkdir jango
cd jango 目录创建project myapp
django-admin startproject myapp
2.在给project创建app
cd myapp 的project下:
python manage.py startapp appname 创建一个app
python manage.py run server localhost:9999 启动jango server 默认:http://localhost:9999访问显示django页面表示创建app ok
二.数据库mysql以及可能遇到问题:
tips:
修改settings.py :
1.ALLOWED_HOSTS = ['*',] 默认是空,如果想实现非localhost地址连接django server,
注意在同一网落,此外注意结尾要保留逗号","
DATABASES修改如下,其中NAME表示数据库你想要新建初始化数据的db名称,如果数据库已经存在此db,
先登录mysql所安装机器mysql -u root -p 然后drop database existedDbName;此外修改默认的数据库ENGINE sqlite3为mysql,再执行创建进行初始化迁移的db ,
create database mysitedb CHARACTER SET utf8 COLLATE utf8_general_ci;:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': "mysitedb",
'USER': 'root',
'PASSWORD': 'root',
'HOST': '192.168.110.128',
'PORT': '3306',
}
}
在进行数据库迁移前必须确保数据库已存在并且可以连接:
在project目录之前是myapp目录(settings.py所在的目录下)的init.py 添加:
import pymysql
pymysql.install_as_MySQLdb()
最后修改django默认语言和时区为Asia/Shanghai如下默认是:{ #LANGUAGE_CODE = 'en-us'
#TIME_ZONE = 'UTC' }修改为:
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
最后执行数据库初始化迁移migrate:
python manage.py makemigrations
python manage.py migrate
执行迁移最终成功如下,也可以进入数据库检查mysitedb 也就是你创建的db:use dbname; show tables;:
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying sessions.0001_initial... OK
检查数据库会如下:
mysql> show tables;
+----------------------------+
| Tables_in_mysitedb |
+----------------------------+
| auth_group |
| auth_group_permissions |
| auth_permission |
| auth_user |
| auth_user_groups |
| auth_user_user_permissions |
| django_admin_log |
| django_content_type |
| django_migrations |
| django_session |
+----------------------------+
10 rows in set (0.05 sec)
这就是意味着数据库初始化迁移成功啦!!!
数据库迁移过程可能遇到问题以及解决方案:
1.mysql 连接失败django.db.utils.InternalError:
(1130, "Host '192.168.110.1' is not allowed to connect to this MySQL server"):
解决方案:
1.1授权 settings.py 配置数据库用户root任意地址访问:
use mysql ;
update user set host = '%' where user ='root';
flush privileges;
2.FAQ-RuntimeError: cryptography is required for sha256_password or caching_sha2_password
解决:pip install cryptography python version: 3.7.2
3.django.core.exceptions.ImproperlyConfigured:
mysqlclient 1.3.13 or newer is required; you have 0....
解决:cd C:\Python37\Lib\site-packages\django\db\backends\mysql
3.1修改base.py 和operations.py : 3.2修改operations.py :
query = query.decode(errors='replace')的decode修改为encode
注释base.py :
if version < (1, 3, 13):
raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)
三.settings.py管理应用多个:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
"app",
"app2",
"app3"
]
Django 创建app 应用,数据库配置的更多相关文章
- Python之道1-环境搭建与pycharm的配置django安装及MySQL数据库配置
近期做那个python的开发,今天就来简单的写一下开发路线的安装及配置, 开发路线 Python3.6.1+Pycharm5.0.6+Django1.11+MySQL5.7.18 1-安装Python ...
- (转载)Python之道1-环境搭建与pycharm的配置django安装及MySQL数据库配置
近期做那个python的开发,今天就来简单的写一下开发路线的安装及配置, 开发路线 Python3.6.1+Pycharm5.0.6+Django1.11+MySQL5.7.18 1-安装Python ...
- Django MTV 开发模式 + 数据库配置
MTV 开发模式 Django 的设计鼓励松耦合及对应用程序中不同部分的严格分割.遵循这个理念的话,要想修改应用的某部分而不影响其它部分就比较容易了.在视图函数中,我们已经讨论了通过模板系统把业务逻辑 ...
- Django 创建 APP和目录结构介绍
一.通过pip安装Django 以windows 系统中使用pip命令安装为例 win+r,调出cmd,运行命令:pip install django自动安装PyPi 提供的最新版本.指定版本,可使用 ...
- Django创建App报错
在django下创建APP项目时遇到的坑 python manage.py startapp app01 报错内容如下: 解决:找到报错中的文件夹151行删除items(),)中的逗号即可 在命令行下 ...
- django创建app
前几天,
- python27+django创建app
python manage.py startapp polls创建一个叫polls的app 编辑文件 polls/models.py : 1 from django.db import models ...
- Django 创建APP简单步骤
yum install epel-releaseyum install python34yum install python-pippip install django django-admin st ...
- django 创建model(数据库表)失败
在models.py中创建数据库表 from django.db import models # Create your models here. class Book(models.Model) ...
随机推荐
- 剖析Javascript中sort()使用方法,以及重写sort()里的排序方法,实现自定义排序
语法:arrayObject.sort([compareFunction]):参数compareFunction可选.规定排序顺序,必须是函数. sort() 方法用于对数组的元素进行排序,并返回数组 ...
- python实现进度条下载
核心代码: for i in range(10): print('\r' + '>' * i, end='') 示例展示以搜狗输入法为例: import timeimport requestsi ...
- ApiBehaviorOptions 统一模型验证配置不生效
ApiBehaviorOptions 的统一模型验证配置一定要放到(.AddMvc)后面.
- Mysql备份参数
--all-databases , -A 导出全部数据库. mysqldump -uroot -p --all-databases --all-tablespaces , -Y 导出全部表空间. my ...
- centos7下编译安装redis5.05
准备环境: 1.一台centos7机器,配置没有什么要求(能联网) 2.下载好redis压缩包 下载redis包: 1.登录redis官网: https://redis.io/download 2.选 ...
- 【算法学习记录-排序题】【PAT A1025】PAT Ranking
Programming Ability Test (PAT) is organized by the College of Computer Science and Technology of Zhe ...
- 巨杉Talk | 拒绝数据碎片化,原生分布式数据库灵活应对数据管理需求
2019年7月19-20日,以“运筹帷幄,数揽未来”为主题的DAMS中国数据智能管理峰会在上海青浦区成功举办.在DAMS峰会上,巨杉数据库为大家带来了题为“云架构下的分布式数据库设计与实践”的主题分享 ...
- SDRAM中数据掩码的作用
DQM就是掩码控制位.在sdram中,每个DQM控制8bit Data在读操作的时候没什么大的影响,比如你读32位的sdram module, 但你只要其中低8bit的数据,没有关系,只要读出32bi ...
- python collections 模块 常用集合
1.nametulpe # tuple 可以表示不变集合 列如坐标 point = (1,1) # 缺点是 只可以通过下标方式访问 #namedtuple是一个函数,它用来创建一个自定义的tuple对 ...
- Activiti+Shiro实战
有人曾说:人的差距都在业余时间拉开的……嗯,我现在深刻理解着这句话,作为一个程序员,技术男,就得不断学习新的技术,跟上时代步伐,才会让自己更有价值~~~~以下这个项目是个人利用业余时间学习并实践的~如 ...