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) ...
随机推荐
- redis五大数据类型以及常用操作命令
Redis的五大数据类型 String(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value.string类型是二进制安全的.意 ...
- 白面系列 kafka
kafka是一个分布式发布订阅消息系统,也可叫做MQ系统,MQ是Message Queue,消息队列. 通俗点,生产者往队列里写消息,消费者从队列里读.专业点,Producer通过TCP协议发送消息到 ...
- python面试的100题(13)
29.Given an array of integers 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数.你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用.示例:给定nums ...
- 【强化学习RL】必须知道的基础概念和MDP
本系列强化学习内容来源自对David Silver课程的学习 课程链接http://www0.cs.ucl.ac.uk/staff/D.Silver/web/Teaching.html 之前接触过RL ...
- mysql数据库-笔记
基本概念篇 SQL语言的分类(DDL.DML.DCL.DQL) 对应的英文全程:data (definition.manipulation.control.query)language 参考资料: h ...
- HTML5使用JavaScript控制<audio>音频的播放
1.播放音乐最简单的样例 <audio controls> <source src="horse.mp3" type="audio/mpeg" ...
- 在MyEclipse中修改文件名出现问题
问题描述:An exception has been caught while processing the refactoring 'Rename Compilation Unit'. 问题原因:项 ...
- Spring家族几大插件
Spring家族很庞大,从最早先出现的服务于企业级程序开发的Core.安全方面的Security.到后来的作为各种数据源桥梁的Data.最近几年很火的Boot,以及最新推出的正在蓬勃发展的Cloud( ...
- java基础(十三)之接口
接口 什么是接口? 生活中也有很多的接口,比如USB接口.定义了接口就是定义了调用对象的标准. 接口基本语法 1.使用interface定义:2.接口当中的方法都是抽象方法:因为抽象函数不能生成对象, ...
- bootstrap4的改进