开发心得体会

1.表单验证,对于用户友好只需js验证就可,如果防治恶意注册,需要在服务器端进行验证。

2.正则表达式匹配键盘所有符号:

r"^([\x21-\x7e]{0,})$"

3.input只允许输入数字:

oninput = "value=value.replace(/[^\d]/g,'')"

4.git更换用户 

首先使用命令 git config --list 查看git设置:
然后
  git config --global user.name "输入你的用户名"
  git config --global user.email "输入你的邮箱"
即可。

如果是在windows系统下,这么修改不成功,
需要如下:
  git config --global --replace-all user.email "输入你的邮箱" 
  git config --global --replace-all user.name "输入你的用户名"

5.django3.0与之前版本不同,

   在urls.py文件编写时,使用path,

from django.urls import include,re_path,path
from data import views

urlpatterns = [
               path(r'userdata/', views.Data),
               path(r'suvnc/', views.SuVnc),
               path(r'vnc/', views.Vnc),
               path(r'geo/', views.Geo),
               path(r'closevnc/', views.closeVnc),
               path(r'displayvnc/', views.displayVnc),
               path(r'', views.index, name='index'),  # default page

               ]

    注意path里面的逗号后面 有个空格。

6.前台开发出现错误 Unchecked runtime.lastError: The message port closed before a response was received.

    解决:关闭浏览器插件。

7.request.GET 获取到url中的键值对,放在一个字典中,.get('key')就是取出字典中的值。

8.git merge  进入的是nano编辑器 ,退出 ctrl + X

9.django项目测试时总是出现错误:ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured. 在python3的版本下写成如下形式:

import os

if __name__ == '__main__':
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "SEAP_python3.settings")
    import django
    django.setup()
    from dashboard.models import ApplyHistoryDetail,ApplyHistory

10.textarea 不是左对齐问题

     textarea把html中的格式当作文本进行存储了。

<td><textarea rows="3" cols="23" readonly="readonly">
    {{detail.feedbackInfor}}</textarea>
</td>

   上面这种就会把{{  之前的空格当成内容放到textarea中,效果如下:

             

  代码改成如下,

<td><textarea rows="3" cols="23" readonly="readonly">{{detail.feedbackInfor}}</textarea>
 </td>

   则效果如下:

               

11.django orm 级联查询

'''
    书籍: Book: id name price publish_date publish author(多对多关联字段)
    出版社: Publish:id name address
    作者: Author : id name author_detail
    作者详情: AuthorDetail : id age telephone info
'''

创建表
# 一对多:出版社(一) 书籍(多,外键在多的一方,依赖于出版社)
# 一对一:作者详情(一) 作者(一,外键在任意一方均可,一旦外键放在作者中,作者依赖于作者详情)
# 多对多:作者(多)书籍(多)建立关系表(存放两个表的外键信息 => 将建表转化为关系对应字段)
​
# Book书籍:id  name  price  publish_date  publish(publish_id)
class Book(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=20)
    price = models.DecimalField(max_digits=5, decimal_places=2)
    publish_date = models.DateField()
    publish = models.ForeignKey(to='Publish', to_field='id')
    # 多对多关系字段,该字段不会再book表中形成字段,是用来创建关系表的
    author = models.ManyToManyField(to='Author')
​
# Author作者:id  name
class Author(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=20)
    # author_detail = models.ForeignKey(to='AuthorDetail', to_field='id', unique=True)
    author_detail = models.OneToOneField(to='AuthorDetail', to_field='id')
​
# AuthorDetail作者详情: id  age  telephone  info
class AuthorDetail(models.Model):
    id = models.AutoField(primary_key=True)
    age = models.IntegerField()
    telephone = models.IntegerField()
    # 存大文本
    info = models.TextField()
​
# Publish出版社:id  name  address
class Publish(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=20)
    address = models.CharField(max_length=64)
1. 正向逆向概念:从存放外键的表到关系表称之为正向跨表查询,反之称之为逆向查询
2. 正向查询通过外键属性名进行跨表查询
3. 逆向查询通过关联表对应类名小写进行跨表查询
在跨表查询的规则上,跨表查询的结果为多条数据时需要在字段后添加_set
​
# 一对一
author = Author.objects.first()  # 查询得到作者对象
author_detail = author.author_detail  # 基于对象跨表获取作者详情对象,正向通过字段名 author_detail
author = author_detail.author  # 基于对象跨表获取作者对象,逆向通过表名小写 author
​
# 一对多
book = Book.objects.first()  # 查询得到书籍对象
publish = book.publish  # 获取出版社对象,正向通过字段名 publish
book_list = publish.book_set.all()  # 获取书籍对象们,逆向通过表名小写 book,多条数据添加_set
​
# 多对多
book = Book.objects.first()  # 查询得到书籍对象
author_list = book.author   # 获取作者对象们,正向通过字段名 author
​
author = Author.objects.first()
book_list = author.book_set  # 获取书籍对象们,逆向通过表名小写 book,多条数据添加_set
​
'''
多级跨表
# 案例一:某作者出版的第一本书的出版社名字
# 作者 Author ->book表(逆向查询, book_set)-> 第一本书first() ->出版社           publish-> name
author.book_set.first().publish.name
'''

12.谷歌浏览器缓存机制有问题,如果页面代码写的没有问题,就是不出效果,尝试清理缓存。

    火狐浏览器缓存机制比较友好。

14.获取前台页面值的时候需要注意标签包裹文字的位置。

1.<button>aaa</button>
2.<button>aaa
  </button>

   通过js获取前台标签button的内容时,第一种是 aaa, 第二种 是  aaa       ,后面还有多余的空格。

15.jQuery中this 的使用:$(this)

16.select 标签子元素 option 设置selected="selected" 不生效,在select 标签中添加属性autocomplete="off"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值