今天从简单的flask开始完成Flask web开发的学习。今天学习了Git和GitHub项目的提交。

Git尝试提交过程中出现了"Could not read from remote repository.Please make sure you have the correct access rights."报错,是在Git clone GitHub仓库时出现的。

上网找了下原因,是没有在github上添加ssh?明明昨天已经加上了刚建的ssh密钥的。不晓得具体什么情况,先按照方案解决吧。

首先在Git终端中输入:$ ssh-keygen -t rsa -C"usename"

生成新的密钥,因为我已设置了保存地址,所以无需再次设置地址了。

注意:这里生成了私有密钥和公共ssh两种,我们只需要取到公共ssh即可。

生成案例如下

  1. Your identification has been saved in /c/Users/Administrator/.ssh/id_rsa.
  2. Your public key has been saved in /c/Users/Administrator/.ssh/id_rsa.pub.
  3. The key fingerprint is:
  4. SHA256:JOPHRJbINYzKWsrJONOgyOBKVFg0Y1zc8mZdnRdzNSo diondigi
  5. The key's randomart image is:
  6. +---[RSA 2048]----+
  7. | =*oo.==. . .+=|
  8. | ..ooo++o. . o..+|
  9. | .. .= + .E .. |
  10. |o. +. X . . |
  11. |B* = + S |
  12. |*+B . |
  13. |oo |
  14. |. |
  15. | |
  16. +----[SHA256]-----+

然后继续在终端中输入:

  1. $ cat /c/Users/Administrator/.ssh/id_rsa.pub

通过自己的密钥保存路径查看生成的公共密钥内容

之后检查下当前Git与github的连接状态,输入:

  1. $ git remote -v
  2. origin https://github.com/username/profile.git (fetch)
  3. origin https://github.com/username/profile.git (push)

之后我尝试clone github仓库,结果报错,查了下报错原因,是不能复制空仓库,原来是我还没有提交任何的文件上去。输入如下:

  1. $ git clone git@github.com:username/profile.git
  2. Cloning into 'profile'...
  3. warning: You appear to have cloned an empty repository.

总之先提交下文件吧,上传到github试试。先在本机git可以管理的仓库目录找本地文件(具体如何设置本机git管理仓库可以参阅http://www.cnblogs.com/tugenhua0707/p/4050072.html):

  1. $ cat hello.py

提交文件时报错,原来还需要登陆下GitHub账号,下面是报错

*** Please tell me who you are.

Run

git config --global user.email "you@example.com"
git config --global user.name "Your Name"

to set your account's default identity.

登录完成,将文件提交到暂存区:

  1. $ git add hello.py

然后用命令 git commit告诉Git,把文件提交到仓库

  1. $ git commit -m "add hello.py"

最后推送到远程仓库

  1. $ git push origin master
  2. Counting objects: 5, done.
  3. Delta compression using up to 4 threads.
  4. Compressing objects: 100% (4/4), done.
  5. Writing objects: 100% (5/5), 629 bytes | 314.00 KiB/s, done.
  6. Total 5 (delta 0), reused 0 (delta 0)
  7. To https://github.com/username/profile.git
  8. * [new branch] master -> master

这就是提交成功了,刷新下自己的GitHub仓库,出现了提交的文件。可喜可贺~!

注意:打开git终端后,查看是否已经登录可以输入

  1. 一般配置
  2. git --version //查看git的版本信息
  3. git config --global user.name //获取当前登录的用户
  4. git config --global user.email //获取当前登录用户的邮箱
  5. 登录git
  6. /* 如果刚没有获取到用户配置,则只能拉取代码,不能修改 要是使用git,你要告诉git是谁在使用*/
  7.  
  8. git config --global user.name 'userName' //设置git账户,userName为你的git账号,
  9. git config --global user.email 'email'

如果有用户信息则说明之前配置已经保存了。

继续,要先cd到自己的git仓库下才可执行其他操作。要显示出有master权限才可:

如何初始化git仓库?可以用

  1. 初始化git仓库
  2. git init //在nodejs文件夹下初始化一个仓库,此时文件里会到一个.git的隐藏文件夹

看其他博文关于git的使用命令介绍很详细,转载一些:

先介绍用git来管理本地的文件。
1)init----可以理解为新建一个Git管理项目。
2)add----添加新的文件(文件夹)到Git项目中,如果添加文件夹,该文件夹下所有文件将被包含。同时可以使用rm,mv从git项目中删除或是重命名文件(文件夹)。
3)commit----告诉Git你想要记录现在的操作,Git会保留一个当前修改过文件的快照。
4)reset----如果你正在编辑的文件乱了,可以选择从前面的commit点(假设是a点)重新开始编辑,通常是选择恢复到上一个编辑点。
5)check out----可以理解为在branch间切换。
4)branch----唔,所谓branch,可以理解理解为两个子版本,当前版本出现了两个不同分支。
5)merge----如果我正在编辑一个新版本a,有人在编辑新版本b,我们想把两个版本合成一个,就可以用merge。当然,合的过程中,有时候会检出有哪些地方不一样,询问到底要保留哪一个,需要手动处理不同的地方。事实上,这更像一个审查的过程。
6)diff----找出两个文档或目录的不同,有个qq游戏叫找茬。
7)revert----回卷到指定的commit。
 
然后开始和远处服务器的互动:
1)clone----从目标服务器得到整个用Git管理项目的拷贝。
2)pull----类似与SVN中的update动作,如果你N久前clone得到某项目的一份拷贝,用pull可以更新到最新版本。
3)push----故名思议,把当前的这份拷贝push到服务器。
 
其他:
1)working tree:刚check out过来,并未修改的文件。其实也就是你在对哪些文件进行操作。
2)index(staging area):有修改但是还没有commit的文件,新加进来的文件也在这里。
3)git directory(repository):修改并commit后,一个文件快照被推送到这里,被保存起来。
 
5.几个初学比较麻烦的名词
1)log和status:log是查看commit的历史;而status是查看是否有文件未commit,没有的话,当前的Git project是clean的。
2)reset和revert:首先,‘reset --hard’到某commit点后,用log查看,该点后所有commit都看不到了,文件被恢复到commit点时的样子;而revert到某commit点之后,用log查看,可以看到多了一个commit点,查看文件内容,被恢复到commit点。还有,必须是project clean时,才能执行revert。
3)branch和master。这两个之间的关系通常也比较让人头大,master通常都是神秘的。事实上,master也是一个branch,而且默认你是从master开始工作的。但是,怎样知道自己在哪个branch呢?有个神秘变量叫HEAD,它指向的branch就是你现在正在操作的branch,你可以用checkout让HEAD指向名为a,b,c。。。d的任意branch,或者是master。

参考文章:http://www.cnblogs.com/pied/archive/2012/04/12/2444159.html

flask web

flask文件就是提交的hello.py,刚开始建立的一个简单交互。用pycharm很简单的建立的。

flask web基础知识点:

1.flask web程序结构:
          -a.初始化
          -b.路由和视图函数

-c.启动服务器函数:可选择调试模式

2.flask 请求对象:封装了客户端发送的http请求

如何访问请求对象:示例中,在视图函数中把request作为全局变量使用(实际上request不可能是全局变量)。

实例中是为了引出多线程并发的问题。因在多线程并行情况下,每个线程处理请求所接受的request对象必然不同。这时就需要用flask上下文让特定 的变量在一个线程中可全局访问,又不会影响其他线程。

3.flask上下文全局变量:分为请求上下文(包含request与session),程序上下文(包含current_app与g)

处理流程:flask在分发请求前激活上下文变量,请求处理完成后再将其删除。

请求上下文

-request:请求对象,封装了client发出的 Http request中的内容

-session:用户会话,用于存储请求之间需要保存值的字典,用于保持会话

程序上下文

-current_app:当前程序激活的程序实例

-g:处理请求时用于临时存储的对象,每次请求到来都会重置该变量

4.请求调度

URL映射是URL与视图函数之间的对应关系。flask使用app.route修饰器或非修饰器形式的app.add_url_rule()生成映射。

5.调试模式

run() 方法是十分适用于启动一个本地开发服务器,但是你需要在修改代码后手动重启服务器。 这样做并不好,Flask 能做得更好。如果启用了调试支持,在代码修改的时候服务器能够自动加载, 并且如果发生错误,它会提供一个有用的调试器。

开启调试模式:  一种是在应用对象上设置标志位:

  1. app.debug = True
  2. app.run()

或者作为 run 的一个参数传入:

  1. app.run(debug=True)

参考文档:http://www.pythondoc.com/flask/quickstart.html

python flask学习(1)与Git基础操作的更多相关文章

  1. Git 学习笔记--1.Git基础操作

    取得项目的Git仓库 有两种方式取得Git项目仓库.第一种是在现存的目录下,通过导入所有文件来创建新的Git仓库.第二种是从已有的Git仓库克隆出一个新的镜像仓库. 在工作目录中初始化新仓库  要对现 ...

  2. 小白学 Python(23):Excel 基础操作(上)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  3. 小白学 Python(24):Excel 基础操作(下)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  4. Git基础操作

    配置秘钥 1.检查本机有没有秘钥 检查~/.ssh看看是否有名为d_rsa.pub和id_dsa.pub的2个文件. $ ~/.sshbash: /c/Users/lenovo/.ssh: Is a ...

  5. Python Flask学习笔记之模板

    Python Flask学习笔记之模板 Jinja2模板引擎 默认情况下,Flask在程序文件夹中的templates子文件夹中寻找模板.Flask提供的render_template函数把Jinja ...

  6. Python Flask学习笔记之Hello World

    Python Flask学习笔记之Hello World 安装virtualenv,配置Flask开发环境 virtualenv 虚拟环境是Python解释器的一个私有副本,在这个环境中可以安装私有包 ...

  7. 《Pro Git》笔记2:Git基础操作

    第二章 Git基础 Git基础包括:版本库的创建和获取,文件添加修改提交等基本操作,状态查询,远程版本库管理和同步,打标签. 1.取得项目的Git版本库 基于Git的工作流要以Git版本库为基础,即可 ...

  8. 【git学习二】git基础之git管理本地项目

    1.背景        git基础打算分两部分来说,一部分是对于本地项目的管理,第二部分是对于远程代码仓库的操作. git运行本地项目管理包含对于相关文件的追踪,暂存区的比較分析,提交,撤销等功能. ...

  9. git的学习笔记(二):git远程操作

    1.创建ssh key ssh-keygen -t rsa -C "your_email@example.com" 执行命令后会在用户的家目录生成.ssh的隐藏文件夹,文件夹里有公 ...

随机推荐

  1. mapkeeper总结

    1. mapkeeper下有个thrift目录,在该目录编译c++版本和java版本. C++版本需要系统安装thrift-0.9.2,而java版本需要系统安装thrift-0.8.0 2. thr ...

  2. C# 获取utc时间,以及utc datetime 互相转化

    C# 获取utc时间,以及utc datetime 互相转化   大部分源于http://blog.sina.com.cn/s/blog_4c6e822d0102dsdz.html 刚开始学习一点C# ...

  3. hdu-5665 Lucky(水题)

    题目链接: Lucky Time Limit: 2000/1000 MS (Java/Others)     Memory Limit: 65536/65536 K (Java/Others) Pro ...

  4. Swift 控制语句

    Control Flow指的是『逻辑控制语句』,包括if.if-else.for.for-in.while.do-while.switch等.其中大部分和OC中差不多,但Swift在某些方便增强了控制 ...

  5. [HAOI 2012] 容易题

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2751 [算法] 考虑k = 0的情况 , 根据乘法原理 : Ans = (n * ( ...

  6. 前端调用后端接口返回200(成功状态码),后端有返回,但是控制台Network Response为空,没展示任何信息

    解决方法: 1.在js里面debugger,可以看到后台是否有返回数据. 2.直接console.log(),直接把返回值打印出来,查看返回的数据格式,方便前端进行数据的处理. PS:因为后端返回的数 ...

  7. 为什么stc15的单片机,运行了几秒后就蹦了

    转载请注明出处:http://blog.csdn.net/qq_26093511/article/details/53534465 还是那个led显示屏的项目...... stc15的单片机 运行了几 ...

  8. TQ210——S5PV210 uboot顶层mkconfig分析

    转自:http://blog.csdn.net/wqx521/article/details/52491300 ############################################ ...

  9. 爬虫库之BeautifulSoup学习(三)

    遍历文档树: 1.查找子节点 .contents tag的.content属性可以将tag的子节点以列表的方式输出. print soup.body.contents print type(soup. ...

  10. Entity FrameWork 5 增删改查 & 直接调用sql语句 ?

    #region 1.0 新增 -void Add() /// <summary> /// 1.0 新增 /// </summary> static void Add() { / ...