python安装过程中一些小知识点
2021-06-15 21:03
标签:values databases conf mode scripts 虚拟 exce 代码 get 1.做些软链接和virtualenv的基本使用: 2.初始化数据库 python manage.py migrate 报错:django.db.utils.NotSupportedError: URIs not supported 版本问题,sqlite3.7.5竟然没有URLs文件,sqlite3 -version 我的版本是3.6.20,更低,直接舍弃,转用MySQL(Linux环境) 再执行,报错:django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.Did you install mysqlclient? 你认为这是让你去安装mysqlclient么? 这是让你去装python连接mysql数据库的驱动程序,首先,需要安装mysql的开发包 再执行,报错: django.db.utils.InternalError: (1049, "Unknown database ‘information‘") 这是因为数据库中没有这个表 3.解决无法访问的问题: 4.时间问题: auto_now无论是你添加还是修改对象,时间为你添加或者修改的时间, auto_now_add为添加时的时间,更新对象时不会有变动。 from show.models import company a=company.objects.create(name="中国建设银行003",identify="003") 数据库里的时间差8个小时,需要注释一行,修改一行,添加一行: 将数据库中的时间格式化为常见格式:用python的方式这么实现: a.date.strftime( ‘%Y-%m-%d %H:%M:%S‘ ) 模板内置date这么玩:{{ date | date:"Y-m-d H:i:s" }} 5.在Django中如何正确完整地删除一个App(这个我没试过) 6.virtualenvwrapper的基本使用 1.把所有的虚拟环境都放在一个地方;2.包装用于管理虚拟环境(创建,删除,复制);3.使用一个命令来环境之间进行切换。 每次要想使用virtualenvwrapper 工具时,都必须先激活virtualenvwrapper.sh,另外,如果创建前要将虚拟环境保存到Envs中,就要先设置一下环境变量:export WORKON_HOME=~/Envs,再搭建。貌似必须搭建到这个~/Envs目录下,要不然管理不到。 7.Django几个小点: ①模板中自定义style中class用点号‘.‘,id用‘#‘ ②values方法可以获取number字段的字典列表;values_list可以获取number的元组列表。 values_list方法加个参数flat=True可以获取number的值列表。 ③models中有用到choices的,想在模板中获取到它对应的中文,用--obj.get_字段名称_display。 python安装过程中一些小知识点 标签:values databases conf mode scripts 虚拟 exce 代码 get 原文地址:https://www.cnblogs.com/fawaikuangtu123/p/9728973.htmlln -s /data/linkdood/im/vrv/python36/bin/python3.6 /usr/bin/python3
ln -s /data/linkdood/im/vrv/python36/bin/pip3.6 /usr/bin/pip
ln -s /data/linkdood/im/vrv/python36/bin/virtualenv /usr/bin/virtualenv
virtualenv /data/my_env1 -p /usr/bin/python3 创建
source /data/my_env1/bin/activate 激活
deactivate 熄火
rmvirtualenv project_env 删除
pip freeze
pip install Django
import django
django.VERSION
DATABASES = {
‘default‘: {
‘ENGINE‘: ‘django.db.backends.mysql‘,
‘NAME‘: ‘information‘,
‘USER‘: ‘用户‘,
‘PASSWORD‘: ‘加过密的密码‘,
‘HOST‘: ‘127.0.0.1‘,
‘PORT‘: ‘11306‘,
}
}
rpm -qa | grep mysql-devel
yum install mysql-devel
#python2.7:
sudo pip install MySQLdb
#python3.4:
sudo pip install PyMySQL
安装完成之后还是报这个错,
在Django中,连接数据库时使用的是 MySQLdb 库,这在与 python3 的合作中就会报刚才的错
解决办法:在 __init__.py 文件中添加以下代码即可
import pymysql
pymysql.install_as_MySQLdb()
create database information;
show grants;
查看当前用户拥有的权限,按理说这个django项目应该只拥有这一个表的权限:
grant all on information.* to django@127.0.0.1 identified by ‘django‘;
nohup python manage.py runserver 172.16.8.128:10000 &
启动后由于防火墙阻挡,添加策略:
iptables -I INPUT 3 -p tcp -m multiport --dports 10000,10001,10002 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -I OUTPUT 3 -p tcp -m multiport --dports 10000,10001,10002 -m state --state NEW,ESTABLISHED -j ACCEPT
用-A添加到末尾还不行,因为第六条策略将匹配不到的全部拒绝,所以得用-I插队到第三条
访问时,因为没有用127.0.0.1,所以报错:
Invalid HTTP_HOST header:You may need to add ‘202.201.38.70‘ to ALLOWED_HOSTS.
可以用下面的两种方式任意一个:
ALLOWED_HOSTS = [‘172.16.8.128‘, ‘localhost‘, ‘127.0.0.1‘]
ALLOWED_HOSTS = [‘172.16.8.128‘]
# TIME_ZONE = ‘UTC‘
TIME_ZONE = ‘Asia/Shanghai‘
将True改为False
USE_TZ = False
1.删除models.py
无论是删除一个单独的model还是删除整个App,都需要首先删除models.py文件中的模型。
./manage.py migrate your_app_name zero
删除models.py中的数据模型。
2.删除整个App文件夹
在settings.py的Installed Apps中移除该app。
在urls.py中移除该App相关内容。
pip install virtualenvwrapper
export WORKON_HOME=~/Envs #设置环境变量
mkdir -p $WORKON_HOME #创建虚拟环境管理目录
find / -name virtualenvwrapper.sh #找到virtualenvwrapper.sh的路径
source 路径 #激活virtualenvwrapper.sh
可能会报错:VIRTUALENVWRAPPER_PYTHON=/usr/bin/python...bulabula,python指向出错
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
重新source virtualenvwrapper
virtualenvwrapper.user_scripts creating /root/Envs/premkproject
...会创建一大堆命令
lsvirtualenv #列举所有的环境。
cdvirtualenv #导航到当前激活的虚拟环境的目录中,能够浏览它的 site-packages。
cdsitepackages # 直接进入到 site-packages 目录中。