news

(三)django--带Template的网站

二次信任 提交于 2019-12-01 16:42:49
我们接着(二),在new下新建一个templates(注意必须是这个名字,不然要进行配置),然后在该目录下新建一个test.html 2.我们在pycharm中新建的html文件里面不会有内容,我们输入!,然后按tab,就会自动生成一个简单的html页面 我们简单的在里面加个<h1></h1> 3.我们配置news中的views.py和urls.py views.py from django.shortcuts import render # Create your views here. from django.http import HttpResponse def index(request): return render(request,'test.html') urls.py from django.contrib import admin from django.urls import path from . import views urlpatterns = [ path('',views.index), ] 4.配置myweb中的urls.py from django.contrib import admin from django.urls import path,include from news import urls urlpatterns = [

(二)django--带APP的网站

别等时光非礼了梦想. 提交于 2019-12-01 16:05:13
1.打开终端,进入到django项目,创建APP应用:python manage.py startapp news 2.在settings.py中进行注册 3.在news下新建views.py,和urls.py。 views.py: from django.shortcuts import render # Create your views here. from django.http import HttpResponse def index(request): return HttpResponse("hello world") urls.py: from django.contrib import admin from django.urls import path from . import views urlpatterns = [ path('',views.index), ] 4.在myweb中的urls.py from django.contrib import admin from django.urls import path,include from news import urls urlpatterns = [ path('admin/', admin.site.urls), path('', include(urls)), ] 5.启动服务

js把一串字符串去重(能统计出字符重复次数更佳)

非 Y 不嫁゛ 提交于 2019-12-01 09:56:17
原文来自: https://juejin.im/post/5ba6e77e6fb9a05d0b14359b <script> let str = "12qwe345671dsfa233dsf9876ds243dsaljhkjfzxcxzvdsf"; let array = str.split(""); //方案一: array = [...new Set(array)].join(""); array = ((a)=>[...new Set(a)])(array).join(""); console.log(array);//12qwe34567dsfa98ljhkzxcv 只能过滤,不会统计 //方案二: function unique (arr) { const seen = new Map() return (arr.filter((a) => !seen.has(a) && seen.set(a, 1))).join(""); } console.log(unique(array)) // 12qwe34567dsfa98ljhkzxcv //方案三: function unique (arr) { let arrs=[]; var news_arr = arr.sort();//排序能减少一次循环 for(var i=0;i<news_arr.length;i++){

学手机编程的了解一下sqlite数据库

房东的猫 提交于 2019-12-01 08:49:13
SQLite是一种 嵌入式数据库,它的数据库就是一个文件。由于SQLite本身是C写的,而且体积很小,所以,经常被集成到各种应用程序中,甚至在iOS和Android的App中都可以集成。 它实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite 直接访问其存储文件。 sqlite数据库的优点 1.不需要安装配置和管理,体积很小,相对于一些大型数据库要小得多得多。 2.不需要任何外部依赖。 3.sqlite事务兼容ACID,允许多线程或多个进程访问。 4.可跨平台运行,支持多数标准sql2查询语言运行。 sqlite的局限性 1.只实现了 LEFT OUTER JOIN。 2.不支持 DROP COLUMN、ALTER COLUMN、ADD CONSTRAINT。 3.不支持 FOR EACH STATEMENT 触发器。 4.在 SQLite 中,视图是只读的。您不可以在视图上执行 DELETE、INSERT 或 UPDATE 语句。 5.可以应用的唯一的访问权限是底层操作系统的正常文件访问权限。 sqlite命令 sqlite的命令也包括 CREATE、SELECT、INSERT、UPDATE、DELETE 和 DROP,从这点来看,它与sql是很相似的。 http://www

libiec61850开源库源码编译arm-linux版本库

旧时模样 提交于 2019-12-01 08:08:16
软件环境: 系统:ubuntu 14.04 64位Linux系统 交叉编译工具:gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf,安装路径为/usr/local/oecore-x86_64 使用交叉工具链编译arm-linux版本库: 1、下载 下载libiec61850库源码并解压,当前使用的开源库版本为1.0.0版本,存放路径为:/home/u/libiec61850-1.0.0 2、进入源码目录: cd /home/u/libiec61850-1.0.0/ 3、修改make/target_system.mk文件 (1)修改ARM_TOOLCHAIN_PREFIX为指定的交叉编译工具链前缀 这里修改为:arm-angstrom-linux-gnueabi-,即 ARM_TOOLCHAIN_PREFIX=arm-angstrom-linux-gnueabi- 注:确定当前交叉编译工具链方法如下: a、配置环境: source /usr/local/oecore-x86_64/environment-setup-armv7at2hf-vfp-neon-angstrom-linux-gnueabi b、查看当前交叉编译工具链: echo $CC 输出信息如下: arm-angstrom-linux-gnueabi-gcc

疑问!为什么国产手机的文件夹都是英文,换成中文可不可以?

℡╲_俬逩灬. 提交于 2019-12-01 05:23:29
如今手机已经成为了我们生活中必不可少的一部分了,很多人离开了手机之后,就会很没有安全感,感觉自己与世界脱轨了。不过我们在使用手机的时候,相信很多小伙伴都会有这样一个疑问:我们使用的都是国行的手机,为何手机文件管理当中的文件夹都是用英文命名的?我们能不能换成中文呢? 我们知道,手机软件都是中文显示,即便是文件管理,也是中文显示标签。然而当我们进入到文件管理当中,就会发现,那些文件全是英文,虽然一些相对简单的文件夹(比如photo、DCIM和Tencent)我们都知道它们代表的意思,然而对于一些难度较大或者是“乱七八糟”的英文文件夹,真的很让人头疼。而这也就很让人好奇,为何国行手机中有这么多英文?我们能不能使用中文命名文件夹? 先来解释为何国行手机会有这么多英文,我们使用的手机只有2个系统,就是安卓和iOS,都来自于美国,而至于大家熟悉的MIUI和EMUI,都是安卓深度定制版。也是由于这个原因,手机文件夹都是英文命名,虽然有部分手机支持中文,但是对于根目录,一定是英文,而且这部分中文文件夹还是因为手机自带了翻译软件,不然也是英语。 然后说一说我们可不可以使用中文命名文件夹,可以很肯定地告诉大家:不可以!上面虽说部分手机支持中文,但是离开翻译软件之后,依旧是英文。造成这一现象的原因也很简单,因为手机系统使用的编程语言也是外国人发明的,使用英文编程的效率会更高,而至于中文

idea springboot jsp访问404 问题解决

半腔热情 提交于 2019-12-01 00:38:57
如题springboot配置视图解析,访问controller返回modelandview,配置正确,路径正确,访问页面404 使用各种关键词搜了大半天,基本搜到的都是依赖包问题,或者modelandview导入包的错误。检查了很久,发现项目并无以上错误。继续搜索,找到原因是idea配置问题,详见https://blog.csdn.net/news_out/article/details/87863295 跟着配置做了一遍就好了,go大的可以解释一波吗~~~~~ 来源: CSDN 作者: bighandbigfootrabbit 链接: https://blog.csdn.net/bighandbigfootrabbit/article/details/93877308

vue 父子component生命周期

蓝咒 提交于 2019-11-30 14:58:52
如今前端框架都流行组件化,页面元素都可以使用组件进行高度概括,那么处理组件之间的关系就如同处理页面架构一样重要。正确理解组件之间的关系,才能让代码按照我们与预料方式工作。最近参与了一个Vue.js的项目,在处理父子嵌套组件之间关系时遇到了较大的阻力,虽然问题最后解决了,但是以花费大量时间为代价的,记录在这里,希望下次不踩同样的坑,能更高效的处理此类问题。 0 问题描述 同react,vue组件也有一套完整的生命周期,不同阶段有不同的分工。总体来讲经常会用的生命周期钩子有以下几种: created mounted destroy 通常会在这些钩子中处理一些异步请求,最常见的就是发起网络请求调用api获取数据。 这里有个问题:在单一组件中,钩子的执行顺序是 created -> mounted -> destroyed ,但当父子组件嵌套时,父组件和子组件各拥有各自独立的钩子函数,这些父子组件的这些钩子是如何交融执行,且执行顺序又是怎样的呢? 最近开发中遇到的一个“诡异”的问题,就是由于对父子组件生命周期钩子执行顺序理解不透彻引起的。问题是这样的:有一个组件有由一系列子组件组成,子组件又被分解成组件,这样下来就构成了三级组件。需求是在组件显示在页面上之后,再将数据初始化进行回显。父组件获取数据后传递到子组件,要求子组件根据这个值将内部元数据进行过滤和加工

Asp.Net实现伪静态

醉酒当歌 提交于 2019-11-30 12:48:58
一、起因 最近一个项目要实现伪静态,之前没接触过,故一切从零开始,开始网上查资料,方法大概有三种,但是我都试了好几个,都失败了。望有建议的博友给点建议,这里我实现了一种方式,是通过微软URLRewriter.dll实现的,觉得不错,故记录下来,大家一起学习,话不多说,上代码。 效果截图: 二、配置web.config 首先,新建项目。添加一个页面Default.aspx,用于测试。去下一个URLRewriter.dll,链接: https://pan.baidu.com/s/1hs3YNZm 密码: n6jx,添加引用即可;然后,开始配置web.config 1.调用URLRewriter.dll <configSections> <section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" /> </configSections> 2.配置伪静态规则,至于规则的配置,可取google上去查。 <system.webServer> <rewrite> <rules> <rule name="Rule1"> <match url="^123_t([0-9]+)\.html$" ignoreCase="false" />

vue 组件传参

妖精的绣舞 提交于 2019-11-30 10:18:32
路由配好了 再传个参呗 注:组件信息流转的时候只能单向 1 > 父子传参 传参:通过属性 prop:传递数据 a.父组件传参给子组件 子组件: <ul> <li v-for="item in dataList"></li> </ul> export default { prop: { //prop接收传过来的参数 dataList: { type:Array, required:true //校验 } }, data() { return { dataList: this.dataList } } } 父组件 <Position :data-list='List'></Position> b.子组件传参给父组件 父组件传一个函数给子组件 子组件: export default { prop: ['id','onbuttonInfo'], data() { return { posid: this.id, title: 'abc' } }, mounted() { this.onbuttonInfo(this.title) } } 父组件: <Position :id='sid' :onbuttonInfo='handleButonInfo'>职位列表</Position> methods:{ handleButonInfo (msg) { console.log(msg) } }