纠错日记

  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的目录 例如

!/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.csdn.net/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’^ , i n d e x ) , u r l ( r ( \d + ) / ’, detail),
url(r’^list(\d+)(\d+)(\d+)/ , l i s t ) , ] 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
  1. 安装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不是在一起的
    
  2. 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)

猜你喜欢

转载自blog.csdn.net/luoqingweizyq/article/details/82143148