安装Django
之前安装了python3的虚拟环境,这次在虚拟环境中安装Django
首先进入到虚拟环境,用pip来安装Django
进入虚拟目录
cd /virtualenvs/venv/
创建站点mysite
django-admin startproject mysite
创建应用blog
cd mysite/
python manage.py startapp blog
提示报错
(venv) [root@izm5e47qpndp7jfqjxvf13z mysite]# python manage.py startapp blog Traceback (most recent call last): File "manage.py", line 21, in <module> main() File "manage.py", line 17, in main execute_from_command_line(sys.argv) File "/home/wang/virtualenvs/venv/lib/python3.5/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line utility.execute() File "/home/wang/virtualenvs/venv/lib/python3.5/site-packages/django/core/management/__init__.py", line 357, in execute django.setup() File "/home/wang/virtualenvs/venv/lib/python3.5/site-packages/django/__init__.py", line 24, in setup apps.populate(settings.INSTALLED_APPS) File "/home/wang/virtualenvs/venv/lib/python3.5/site-packages/django/apps/registry.py", line 114, in populate app_config.import_models() File "/home/wang/virtualenvs/venv/lib/python3.5/site-packages/django/apps/config.py", line 211, in import_models self.models_module = import_module(models_module_name) File "/home/wang/virtualenvs/venv/lib/python3.5/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 986, in _gcd_import File "<frozen importlib._bootstrap>", line 969, in _find_and_load File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 673, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 662, in exec_module File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed File "/home/wang/virtualenvs/venv/lib/python3.5/site-packages/django/contrib/auth/models.py", line 2, in <module> from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager File "/home/wang/virtualenvs/venv/lib/python3.5/site-packages/django/contrib/auth/base_user.py", line 47, in <module> class AbstractBaseUser(models.Model): File "/home/wang/virtualenvs/venv/lib/python3.5/site-packages/django/db/models/base.py", line 117, in __new__ new_class.add_to_class('_meta', Options(meta, app_label)) File "/home/wang/virtualenvs/venv/lib/python3.5/site-packages/django/db/models/base.py", line 321, in add_to_class value.contribute_to_class(cls, name) File "/home/wang/virtualenvs/venv/lib/python3.5/site-packages/django/db/models/options.py", line 204, in contribute_to_class self.db_table = truncate_name(self.db_table, connection.ops.max_name_length()) File "/home/wang/virtualenvs/venv/lib/python3.5/site-packages/django/db/__init__.py", line 28, in __getattr__ return getattr(connections[DEFAULT_DB_ALIAS], item) File "/home/wang/virtualenvs/venv/lib/python3.5/site-packages/django/db/utils.py", line 201, in __getitem__ backend = load_backend(db['ENGINE']) File "/home/wang/virtualenvs/venv/lib/python3.5/site-packages/django/db/utils.py", line 110, in load_backend return import_module('%s.base' % backend_name) File "/home/wang/virtualenvs/venv/lib/python3.5/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "/home/wang/virtualenvs/venv/lib/python3.5/site-packages/django/db/backends/sqlite3/base.py", line 13, in <module> from sqlite3 import dbapi2 as Database File "/usr/local/python3/lib/python3.5/sqlite3/__init__.py", line 23, in <module> from sqlite3.dbapi2 import * File "/usr/local/python3/lib/python3.5/sqlite3/dbapi2.py", line 27, in <module> from _sqlite3 import * ImportError: dynamic module does not define module export function (PyInit__sqlite3)
参考网上的教程,但是找不到文件或命令错误
虽然安装了sqlite
[root@izm5e47qpndp7jfqjxvf13z mysite]# yum install sqlite* Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile Package sqlite-3.7.17-8.el7.x86_64 already installed and latest version Package sqlite-devel-3.7.17-8.el7.x86_64 already installed and latest version Resolving Dependencies --> Running transaction check ---> Package sqlite-doc.noarch 0:3.7.17-8.el7 will be installed ---> Package sqlite-tcl.x86_64 0:3.7.17-8.el7 will be installed ---> Package sqlite2.x86_64 0:2.8.17-17.el7 will be installed ---> Package sqlite2-devel.x86_64 0:2.8.17-17.el7 will be installed ---> Package sqlite2-tcl.x86_64 0:2.8.17-17.el7 will be installed ---> Package sqlite3-dbf.x86_64 0:2011.01.24-3.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================================================================================================== Package Arch Version Repository Size ================================================================================================================================================================== Installing: sqlite-doc noarch 3.7.17-8.el7 base 2.9 M sqlite-tcl x86_64 3.7.17-8.el7 base 33 k sqlite2 x86_64 2.8.17-17.el7 epel 165 k sqlite2-devel x86_64 2.8.17-17.el7 epel 153 k sqlite2-tcl x86_64 2.8.17-17.el7 epel 20 k sqlite3-dbf x86_64 2011.01.24-3.el7 epel 23 k Transaction Summary ================================================================================================================================================================== Install 6 Packages Total download size: 3.2 M Installed size: 10 M Is this ok [y/d/N]: y Downloading packages: (1/6): sqlite-tcl-3.7.17-8.el7.x86_64.rpm | 33 kB 00:00:00 (2/6): sqlite2-2.8.17-17.el7.x86_64.rpm | 165 kB 00:00:00 (3/6): sqlite2-tcl-2.8.17-17.el7.x86_64.rpm | 20 kB 00:00:00 (4/6): sqlite2-devel-2.8.17-17.el7.x86_64.rpm | 153 kB 00:00:00 (5/6): sqlite3-dbf-2011.01.24-3.el7.x86_64.rpm | 23 kB 00:00:00 (6/6): sqlite-doc-3.7.17-8.el7.noarch.rpm | 2.9 MB 00:00:01 ------------------------------------------------------------------------------------------------------------------------------------------------------------------ Total 1.8 MB/s | 3.2 MB 00:00:01 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : sqlite2-2.8.17-17.el7.x86_64 1/6 Installing : sqlite2-devel-2.8.17-17.el7.x86_64 2/6 Installing : sqlite2-tcl-2.8.17-17.el7.x86_64 3/6 Installing : sqlite3-dbf-2011.01.24-3.el7.x86_64 4/6 Installing : sqlite-doc-3.7.17-8.el7.noarch 5/6 Installing : sqlite-tcl-3.7.17-8.el7.x86_64 6/6 Verifying : sqlite2-devel-2.8.17-17.el7.x86_64 1/6 Verifying : sqlite2-tcl-2.8.17-17.el7.x86_64 2/6 Verifying : sqlite-tcl-3.7.17-8.el7.x86_64 3/6 Verifying : sqlite-doc-3.7.17-8.el7.noarch 4/6 Verifying : sqlite2-2.8.17-17.el7.x86_64 5/6 Verifying : sqlite3-dbf-2011.01.24-3.el7.x86_64 6/6 Installed: sqlite-doc.noarch 0:3.7.17-8.el7 sqlite-tcl.x86_64 0:3.7.17-8.el7 sqlite2.x86_64 0:2.8.17-17.el7 sqlite2-devel.x86_64 0:2.8.17-17.el7 sqlite2-tcl.x86_64 0:2.8.17-17.el7 sqlite3-dbf.x86_64 0:2011.01.24-3.el7 Complete!
https://cloud.tencent.com/developer/article/1176291
https://www.cnblogs.com/i1991/p/9497259.html
因为之前安装了mysql,所以就不用sqlite数据库了
cd mysite/mysite
cat settings.py
注释掉原来的sqlite3,新增加为mysql,不过首先要在mysql创建一个叫做mysite的database
mysql>CREATE DATABASE mysite;
然后安装mysqlclient和pymysql库。这两个库是python操作mysql的库。
然后执行数据库同步
参考链接:
https://github.com/jidongdeatao/Python/tree/master/Web%20Framework/Django/project_EasyExample