之前安装了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