纠错日记

1.  module has no attribute
原因:命名文件不能与导包名字相同
解决办法:改名字
2安装CGI
1.参考网站:https://www.jianshu.com/p/68b11edc055e
2. https://www.cnblogs.com/wanxudong/p/5846907.html
先在第二个网站找到 cd /etc/apache2
打开sudo vim  httpd.conf
接着按照第一个网站的顺序往下弄
    Alias /cgi /var/www/cgi  这个‘/cgi’是 /localhost/cgi的你想设置的目录  ‘/var/www/cgi’ 这个是你CGI的目录 例如  <Directory "/Library/WebServer/CGI-Executables">


sudo apachectl restart  重启Apache

3.cgi 路径:
#!/usr/local/bin/python3 这个可以按照自己Python的版本所在路径设置,没有太大关系
CGI的文件,可以自己设置文件夹,然后网页访问加上文件夹的路径即可,例如:localhost/cgi/python_0711/hello.py
4.每一个CP 复制过来的文件都要查看是否有执行权限,没有则加上权限,chmod 755 hello.py
复制可以一次性复制很多文件 ,例如 cp a.py b.py /usr/local
不写则不修改文件名,源文件名复制


5.import 路径问题

解决办法:
在最初的终端
pip3 install pytz
安装pytz 不要在运行终端上安装,因为这与程序运行所找的pytz不是同一个目录


6.永久设置vim显示行号:
 第一种是,手动显示:在vim命令行模式下输入  :set nu
      取消显示:在vim命令行模式下输入:  set nonu
      第二种是,永久自动显示:我们修改一个配置文件。
      我们输入命令:vim   ~/.vimrc
      打开后是一个空文件,我们添加 set nu,保存退出,再次进入vim编辑器,就会自动显示出行号了。如此简单
7.pycharm 永久权限
网站; https://blog.youkuaiyun.com/u014044812/article/details/78727496
mac 的hosts:/private/etc


8.在终端想运行Python文件出错

解决办法:
不能 这样运行./xxx.py 因为解析不了,易出错
故:python xxx.py这样运行就不会出错了ß

9.wsgi运行
先运行XXX.py 
然后在浏览器上写上地址:localhost:‘port’/xxx.py


10.导入MySQLdb
在终端运行
pip install mysqlclient
除了建立软链接之外,还有一种方法:
运行终端:
vi .bash_profile
追加行:export DYLD_LIBRARY_PATH="/usr/local/mysql/lib"
source .bash_profile
重新终端运行: 
python 
import MySQLdb 


11.Django的路径问题
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^user/', include('fruitapp.urls')),
    url(r'^df_goods/', include('df_goods.urls')),
]
1. 在基准urls中写路径时不写$(结束标识),而且记得都都要写斜杠 /,表示从/后开始匹配路径,并且尽量在url中/前加点内容,
    不推荐这么写url(r'^' , include('xxx.urls'))
2.  在应用urls中的每个url配置都要写$(表示结束),如果没有写结束符$,则你在访问其他路径时还是会访问上一个没有结束的路径


urlpatterns = [
    url(r'^$', index),
    url(r'^(\d+)/$', detail),
    url(r'^list(\d+)_(\d+)_(\d+)/$', list),
]
3. 如果第一个路径没有写$即url(r'^', index),如果你输入127.0.0.1:8000/df_goods/3, 访问的还是index,切记!!!


12.安装mysql
1. 安装mysql的服务器和客户端工具

        sudo apt install mysql-server mysql-client
        sudo service mysql start

3.  安装mysql的python相关模块
(当你出现了mysql.config not found则要考虑是否安装了以下步骤)
        # 安装编译程序所需的工具
        sudo apt install build-essential
        # 安装编译mysqlclient所需的以来包
        sudo apt install libmysqlclient-dev libpython3-dev
        # 用pip3安装mysqlclient
            pip3 install mysqlclient
        装完mysqlclient之后,可以尝试在交互式的python中导入模块MySQLdb
         import MySQLdb

        注意事项:pip3和python3必须是一起的,也就是说两个命令应该在同一个目录下:
            /usr/bin/pip3
            /usr/bin/python3

        无法导入MySQLdb模块的常见原因:
            1. 安装的时候用的是root用户,导入的时候用的是普通用户
            2. 安装的时候用的是普通用户,导入的时候用的是root用户
            3. 所运行的python3和安装时所使用的pip3不是在一起的


13. SyntaxError: Non-ASCII character '\xca' in file XXX, but no encoding declared解决方法
在.py文件开头加上一行代码
、 #coding:utf-8
14.Django 的命名空间
假如 没有在urls.py 里面定义
app_name = ‘app2’App2一个项目的名字
就直接在模板上用 app2:detail
则会报错

解决办法:
加上app_name = ‘app2’


15.用ListView来取代原有的index页面的view

参考流程:

1. 导入django.views.generic.ListView
2. 定义新的类BookListView,继承 ListView

    class BookListView(ListView):
        model = Book

3. 重新定义URL,其中的view写成 BookListView.as_view()

    url(r'^$', BookListView.as_view()),

4. 编写模板文件,如果模板文件的名字不对,将会有错误产生,错误信息类似这样:

    TemplateDoesNotExist at ...

    book/book_list.html

5. 如果页面没有显示数据,则考虑修改模板中变量的名字,使用object_list.


出现这样的错误 则需要在模板下复制一份旧的index文件改成相应的名字,然后在将里面传入的参数改成object_list.
例如 传的参数是books 则改为object_list.


16.当使用CSRF_token 时容易犯的错

这时候你要去看看{% csrf_token %}是否在form表单里面
不在就会检测你出错了

17.测试用例时,mysql没有权限问题

进入mysql数据库设置
mysql –u root –p
grant all on test.db2.* to db2@localhost identified by “root”
根据自己相应的数据库名称来适当的修改参数


18.安装selenium
1)cd ~
        vim .bash_profile
配置路径
    export PATH=$PATH:/Users/zelin/PycharmProjects/example/ChromeDriver
更新到最新版本的selenium
sudo pip install -U selenium
测试:
 from selenium import webdriver
 import time
 url = "https://www.hao123.com/"
 driver = webdriver.Chrome()
driver.get(url)
time.sleep(13)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值