db没有显示红色x说明创建成功了
界面左下角有一个Terminal,点开就是一个命令行控制台,可以输入命令
查看Django版本信息,可以看出pycharm创建Django安装的是2.1.1的版本
目前支持比较好的为1.11.12,所以可以安装1.11.12(安装过程中会自动卸载掉2.1.1版本)
接下来安装pymysql驱动包(用于连接数据库)
(venv) D:\Django\db>pip install pymysql Collecting pymysql Using cached https://files.pythonhosted.org/packages/a7/7d/682c4a7da195a678047c8f1c51bb7682aaedee1d ca7547883c3993ca9282/PyMySQL-0.9.2-py2.py3-none-any.whl Collecting cryptography (from pymysql) Using cached https://files.pythonhosted.org/packages/f1/01/a144ec664d3f9ae5837bd72c4d11bdd2d8d40331 8898e4092457e8af9272/cryptography-2.3.1-cp36-cp36m-win_amd64.whl Collecting cffi!=1.11.3,>=1.7 (from cryptography->pymysql) Using cached https://files.pythonhosted.org/packages/2f/85/a9184548ad4261916d08a50d9e272bf6f93c54f3 735878fbfc9335efd94b/cffi-1.11.5-cp36-cp36m-win_amd64.whl Collecting idna>=2.1 (from cryptography->pymysql) Using cached https://files.pythonhosted.org/packages/4b/2a/0276479a4b3caeb8a8c1af2f8e4355746a97fab0 5a372e4a2c6a6b876165/idna-2.7-py2.py3-none-any.whl Collecting six>=1.4.1 (from cryptography->pymysql) Using cached https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43 ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl Collecting asn1crypto>=0.21.0 (from cryptography->pymysql) Using cached https://files.pythonhosted.org/packages/ea/cd/35485615f45f30a510576f1a56d1e0a7ad7bd8ab 5ed7cdc600ef7cd06222/asn1crypto-0.24.0-py2.py3-none-any.whl Collecting pycparser (from cffi!=1.11.3,>=1.7->cryptography->pymysql) Using cached https://files.pythonhosted.org/packages/8c/2d/aad7f16146f4197a11f8e91fb81df177adcc2073 d36a17b1491fd09df6ed/pycparser-2.18.tar.gz Installing collected packages: pycparser, cffi, idna, six, asn1crypto, cryptography, pymysql Running setup.py install for pycparser ... done Successfully installed asn1crypto-0.24.0 cffi-1.11.5 cryptography-2.3.1 idna-2.7 pycparser-2.18 pymys ql-0.9.2 six-1.11.0查看版本信息
在Django的db项目名称下的__init__.py下添加
import pymysql #导入pymysql包,里面的所有功能便可以使用了,不需要单独一个个导入pymysql下的功能模块了 pymysql.install_as_MySQLdb() #当成mysqldb使用,没有这个就会使用pymysql的方式,这个主要是便于之前2.x版本用习惯了mysqldb的人使用(3.x版本后无法使用mysqldb)Terminal控制台敲命令
python manage.py startapp db_operate创建完成后,会在左边多出一个目录db_operate(自己创建时的命名),里面就是用来做Django各种操作的
进入settings.py,找到一下配置,添加'db_opeate',用于注册创建的app
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'db_operate' ]这个static目录里面用于存放子目录如css、js、img这些内容
在settings.py中配置static静态页面信息,作用是便于Django项目运行是调用该目录下的文件
这个文件需要在templates下创建,这个目录在创建项目的时候自动创建的,项目运行时,会找到这个目录下的网页文件进行识别
添加记录的页面
<!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/html"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="http://127.0.0.1:8000/addmovies/" method="POST"> 请输入电影名称:<input type="text" name="name"><br> 请输入电影类型:<input type="text" name="category"><br> 请输入时间:<input type="text" name="date"><br> <input type="submit" value="提交"> </form> </body> </html>查询记录的页面
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>movie list</title> </head> <body> <table border="1" cellspacing="0"> <tr> <th>name</th> <th>category</th> <th>date</th> </tr> {% for movie in movies %} <tr> <td>{{ movie.name }}</td> <td>{{ movie.category }}</td> <td>{{ movie.date }}</td> </tr> {% endfor %} </table> </body> </html>添加页面
提交后跳转到电影列表页面
查看数据库
转载于:https://www.cnblogs.com/endmoon/p/9621394.html