青木文苑吧 关注:664贴子:32,097

回复:[Python]那些年踩过的坑…坑……坑………

只看楼主收藏回复

很奇怪为什么pip可以直接pip install django
而pip3 在安装django的时候pytz给我报错说没权限,而查了一下需要root或是前面加上sudo


IP属地:北京16楼2018-02-28 00:08
回复
    ps -A | grep apt
    使用 ps 和 grep 命令并用管道组合来得到含有 apt 或者 apt-get 的进程。
    sudo kill -9 processnumber
    或者
    sudo kill -SIGKILL processnumber
    KILL进程


    IP属地:北京17楼2018-02-28 18:24
    回复
      2026-05-30 16:14:57
      广告
      不感兴趣
      开通SVIP免广告
      from django.conf.urls import url
      from django.contrib import admin
      from article import views
      urlpatterns = [
      url(r'^admin/', admin.site.urls),
      url(r'^$', views.home),
      ]
      from django.conf.urls import patterns, include, url
      from django.contrib import admin
      urlpatterns = patterns('',
      # Examples:
      # url(r'^$', 'my_blog.views.home', name='home'),
      # url(r'^blog/', include('blog.urls')),
      url(r'^admin/', include(admin.site.urls)),
      url(r'^$', 'article.views.home'), #由于目前只有一个app, 方便起见, 就不设置include了)
      不论是实验楼还是http://andrewliu.in的博客里在目前的版本里都是有些问题的
      经过看注释以及两者结合
      到最后
      from django.contrib import admin
      from django.urls import path
      from article import views
      urlpatterns = [
      path('admin/', admin.site.urls),
      path('',views.home),
      ]
      现在版本的代码更为简洁


      IP属地:北京18楼2018-03-07 17:07
      回复
        我之前找到的教程都是django1.7版本的,而我用的是2.0版,目前发现的区别就是1.7版的url需要传正则表达式而2.0的path()没必要,
        path('admin/', admin.site.urls),
        path('',views.home),
        path('<my_args>',views.detail,name='detail'),
        这是2.0版本
        urlpatterns = [
        url(r'^admin/', admin.site.urls),
        url(r'^$', views.home),
        url(r'^(?P<my_args>\d+)/$', views.detail, name='detail'),
        ]
        这是1.7版
        查询资料发现 正则比较明显的是需要加 ^$
        2.0版也没必要导入url,而是只需要
        from django.contrib import admin
        from django.urls import path
        from article import views
        这三个即可


        IP属地:北京19楼2018-03-07 18:07
        收起回复
          Function views
          1. Add an import: from my_app import views
          2. Add a URL to urlpatterns: path('', views.home, name='home')
          Class-based views
          1. Add an import: from other_app.views import Home
          2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
          Including another URLconf
          1. Import the include() function: from django.urls import include, path
          2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
          path('', views.home, name='home')
          path('', Home.as_view(), name='home')
          path('blog/', include('blog.urls'))


          IP属地:北京20楼2018-03-07 18:14
          回复
            在博客文章的增加一个链接, 链接的href属性为{% url "detail" id=post.id %}, 当点击这个文章题目时, 会将对应的数据库对象的id传入的url中, 类似于url传参, 不记得的同学可以重新回到前几页翻一下. 这里将数据库对象唯一的id传送给url设置, url取出这个id给对应的view中的函数逻辑当做参数. 这样这个id就传入对应的参数中被使用


            IP属地:北京21楼2018-03-08 02:11
            收起回复
              1、slug:用于生成一个有意义(valid, meaninful)URL  参考(http://stackoverflow.com/questions/427102/what-is-a-slug-in-django
              比如:http://stackoverflow.com/questions/427102/what-is-a-slug-in-django  后面的“what-is-a-slug-in-django”就是经过slug后的产物
              如何使用:
              需要使用slugify功能:from django.utils.text import slugify
              例子:slugify(value)  If value is "Joel is a slug", the output will be "joel-is-a-slug".
              2、SlugField:也是起到类似作用,只不过这个一般是后台直接添加时使用,比如:slug = models.SlugField(unique=True)   这样在后台就有个slug框,填写后,URL中就包含slug中的内容。
              3、pre_save:被保存进数据库前的预存储。 前面使用slug有一个问题,slug是从title中取值,但还没保存进数据库如何取?pre_save就起到这样的作用,保存开始前会发出信号,我们利用发出的信号,经过函数来进行 “准备数据”。函数(接收器)接受这个信号的方法有两个:一是connect方法,另一个是使用receiver() 装饰器来自动连接
              from django.db.models.signals import pre_save
              pre_save.connect(pre_save_post_receiver, sender=Post)
              参考:http://python.usyiyi.cn/django/topics/signals.html#receiver-functions
              http://stackoverflow.com/questions/6461989/populating-django-field-with-pre-save
              http://python.usyiyi.cn/django/topics/signals.html
              (保存时发生的事情:http://sns.hwcrazy.com/django/ref/models/instances/index.html


              IP属地:北京22楼2018-03-15 20:44
              回复
                设置账户信息
                git config --global user.name “lukeyan”
                git config --global user.email xxx@gmail.com
                设置成功后,用Terminal用ssh命令访问GitHub,会显示一条认证成功的消息并退出。
                ssh -T git@github.com
                git pull #获取新版本
                git status #获取需要上传的文件
                git add . # .表示全添加,
                git add README.md 表示只添加说明文件
                git commit -m "add new files" # a commit
                git remote add origin git@github.com:yourgithubname/yourrepositoryname
                git push -u origin master


                IP属地:北京23楼2018-03-16 10:19
                回复
                  2026-05-30 16:08:57
                  广告
                  不感兴趣
                  开通SVIP免广告
                  创建
                  1 创建一个本地分支: git branch <新分支名字>
                  2 将本地分支同步到GitHub上面: git push <本地仓库名> <新分支名>
                  3 切换到新建立的分支: git checkout <新分支名>
                  4 为你的分支加入一个新的远程端: git remote add <远程端名字> <地址>
                  5 查看当前仓库有几个分支: git branch
                  删除
                  1 从本地删除一个分支: git branch -d <分支名称>
                  2 同步到GitHub上面删除这个分支: git push <本地仓库名> :


                  IP属地:北京24楼2018-03-16 10:20
                  回复
                    block extends include三者的差别跟用法
                    一、定义基础模板,在html内容中定义多个block块,block由子模板引用同名block块,来决定是否替换这些部分
                    {% block title %}一些内容,这里可不填{% endblock %}
                    {% block content %}一些内容,这里可不填{% endblock %}
                    {% block footer %}一些内容,这里可不填{% endblock %}
                    这里 title content footer 不是变量,名字自定义
                    block一般定义在base.html中 block是可以在那些继承base的html中添加内容的区
                    二、子模板的引用方式
                    {% extends "base.html" %}
                    {% block title %}The current time{% endblock %}
                    {% block content %}<p>It is now {{ current_date }}.</p>{% endblock %}
                    第一句是固定的格式,必须为模板中的第一个模板标记
                    extends的参数一般为字符串,也可为变量
                    可带路径,相对路径,以 TEMPLATE_DIRS 的模板目录 为基准
                    子模板决定替换的block块,无须关注其它部分,没有定义的块即不替换,直接使用父模板的block块
                    三、引用上级代码块在其基础上进行一些修改 {{ block.super }}
                    {% block footer %}
                    {{ block.super }}
                    AAAAA
                    {% endblock %
                    Django模板系统——模板包含另一模板 include
                    使用模板加载API机制之后,可用的包含其它模板标签
                    {% include 'nav.html' %}
                    {% include "nav.html" %}
                    可带路径,相对路径,以 TEMPLATE_DIRS 的模板目录 为基准
                    {% include 'includes/nav.html' %}
                    可使用变量名
                    {% include template_name %}
                    包含的变量都会统一处理,不区分是第几层模板
                    Django的{{ block.super }}模板标签
                    Django模板中{{ block.super }}这个标签非常有用,可以做到不仅仅是覆盖父模板,而是在父模板基础上追加内容。当然也可以覆盖。
                    这就给了我们灵活性:既可以完全重写,也可以复用父模板,也可以在复用的基础上扩展
                    被包含(include)的页面里面是不能用{%block%}的,无效.
                    二 locals() 技
                    locals()返回一个包含当前作用域里面的所有变量和它们的值的字典
                    from django.shortcuts import render_to_response
                    import datetime
                    def current_datetime6(request):
                    current_date = datetime.datetime.now()
                    return render_to_response('current_datetime6.html', locals())


                    IP属地:北京25楼2018-03-20 14:05
                    回复
                      .解压缩命令:
                        命令格式:tar -zxvf 压缩文件名.tar.gz
                        解压缩后的文件只能放在当前的目录。


                      IP属地:北京26楼2018-03-20 23:47
                      回复
                        给Ubuntu安装Python的MySQL驱动,
                        sudo pip3 install mysql-connector


                        IP属地:北京27楼2018-03-23 18:18
                        回复
                          pymysql 是纯Python实现的,效率上嘛,的确不咋地,不过你还是可以具体真正的测试一下,你是否真的在意这点效率上的差别。
                          另外,pymysql 由于是由 Python 实现的,因此可以很好的和gevent 框架结合,如果你的项目里用了gevent那你就只能用pymysql 了。
                          作者:雁南归
                          pip install PyMySQL
                          python3用这个
                          apt-get install python-mysqldb (Linux Ubuntu)
                          No module named MYSQLdb 问题解决


                          IP属地:北京28楼2018-03-23 19:18
                          回复


                            这两个错一个是少位置参数on_delete,查了一下是因为指定外键的方式不对,添加, on_delete=models.CASCADE
                            eg hbook = models.ForeignKey('BookInfo', on_delete=models.CASCADE)
                            第二个是因为desc没有max_length参数,要补上。


                            IP属地:北京29楼2018-03-25 13:12
                            回复
                              2026-05-30 16:02:57
                              广告
                              不感兴趣
                              开通SVIP免广告
                              django.db.utils.DataError: (1406, "Data too long for column 'gender' at row 1")
                              设置的字符长度是5,可是female有6个字节,所以修改max_length=7


                              IP属地:北京30楼2018-03-25 17:46
                              回复