python代码自动补全配置及Django入门Demo
django入门代码示例小博客:https://pan.baidu.com/s/1pLjLPSv
1.自动补全功能
许多人都知道 iPython 有很好的自动补全能力,但是就未必知道 python 也同样可以 Tab 键补全,
您可以在启动 python 后,执行下
这就可以按 Tab 键补全了。
python 自启动
如果您嫌每次都要键入这东西麻烦的话,可以把上边这行写到 ~/.pythonstartup.py ,
再 ~/.bashrc 里加一个环境变量
export PYTHONSTARTUP=~/.pythonstartup.py这就会每次启动 python 都先执行了
2.安装python web开发框架django,当然也可以安装轻量级的web.py flask等
下载完后解压及安装:
- tar -zxvf Django-1.11
- cd Django-1.11
- sudo python setup.py install
若出现ImportError: No module named setuptools ,则安装包管理工具setuptools模块
- >>> import django
- >>> print django.get_version()
- 1.11
- apt-cache search MySQLdb
然后会显示:
- bibus - bibliographic database
- eikazo - graphical frontend for SANE designed for mass-scanning
- python-mysqldb-dbg - A Python interface to MySQL (debug extension)
- python-mysqldb - A Python interface to MySQL 这样我们可以通过安装python-mysqldb来安装这个模块: sudo apt-get install python-mysqldb
[举重若轻]python+django+mysql web开发入门学习之hello world 1. 创建项目:
django-admin startproject QASearching 如果系统找不到django-admin.py命令,可以到python的bin目录下查找。这个命令会创建一个项目目录QASearching,它下面的目录详情如下: ├── manage.py
└── QASearching
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py manage.py:包含了所有与项目交互的命令,比较启动服务器、连接数据库、打开shell等功能; QASearching/__init__.py:是项目的初始文件,一开始是一个空的文件; QASearching/settings.py:是项目的配置文件 ,如数据库连接、模板地址等; QASearching/urls.py:是项目的url映射文件,可以指定哪些url由哪些module来处理,类似于apache的httpd.conf文件; QASearching/wsgi.py:Python的web服务器网关服务中间件。 指定ip
vi settings.py ########### DEBUG = False ALLOWED_HOSTS = [
'127.0.0.1',
'localhost',
] ########
简单测试:
$ python manage.py runserver 127.0.0.1:8081 2. 创建APP:
在每个django项目中可以包含多个APP,相当于一个大型项目中的分系统、子模块、功能部件等等,相互之间比较独立,但也有联系。
所有的APP共享项目资源。
在pycharm下方的terminal终端中输入命令:
$ python manage.py startapp mydiary
这样就创建了一个叫做mydiary的APP,django自动生成“mydiary”文件夹。
3. 编写业务处理逻辑
业务处理逻辑都在views.py文件里。编辑mydiary下的views.py
# -*- coding: utf-8 -*-
from __future__ import unicode_literals from django.shortcuts import render # import HttpResponse
from django.shortcuts import HttpResponse
# Create your views here. def index(requst):
"""不能直接返回字符串,必须由类HttpResponse封装起来,这是django规则,不是python规则"""
return HttpResponse("hello world!")
4. 编写路由
路由都在urls文件里,它将浏览器输入的url映射到相应的业务处理逻辑
编写项目QASearching下的QASearching目录下的urls.py
# -*- coding:utf-8 -*-
"""QASearching URL Configuration The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/1.11/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: url(r'^$', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.conf.urls import url, include
2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls'))
"""
from django.conf.urls import url
from django.contrib import admin """导入对应app的views文件"""
from mydiary import views """ admin后台的路由
+自定义路由
"""
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^index/', views.index),
]
urls.py
5. 运行web服务
为了使外部网络能够访问,可以编辑 QASearching/QASearching/settings.py 添加:
ALLOWED_HOSTS = [
u'192.168.1.103',
u'localhost',
u'127.0.0.1',
]
$ python manage.py runserver 127.0.0.1:8080
6. 连接数据库
django通过自带的ORM框架操作数据库,并且自带轻量级的sqlite3数据库。
在settings.py中注册mydiary应用,数据库能够据此给注册的app应用创建表.
# Application definition INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'mydiary',
]
在mydiary的models.py中加入类UserInfo
class UserInfo(models.Model):
user = models.CharField(max_length=32)
pwd = models.CharField(max_length=32)
email = models.EmailField()
在pycharm的teminal中通过命令创建数据库的表了。有2条命令,分别是:
$ python manage.py makemigrations
或者 $ python manage.py makemigrations mydiary
Migrations for 'mydiary':
mydiary/migrations/0001_initial.py
- Create model UserInfo
$ python manage.py migrate
或者 $ python manage.py migrate mydiary
会创建一个mydiary_userinfo表,表中含有models.py中对应UserInfo类成员变量. 创建admin后台管理用户:
$ python manage.py createsuperuser
富文本编辑器tinymce
python代码自动补全配置及Django入门Demo的更多相关文章
- python代码自动补全
牛逼了!Python代码补全利器,提高效率告别996! Python之禅 Python之禅 微信号 VTtalk 功能介绍 人生苦短,我用Python,这里是一名老程序员分享Python技术的地方,欢 ...
- 这个 Python 代码自动补全神器搞得我卧槽卧槽的
是时候跟你说说这个能让你撸代码撸得舒服得不要不要的神器了——kite. ! 简单来说,它是一款 IDE 的插件,能做到代码自动补全,可能你会说了,这有什么牛逼的?一般的编辑器不都有这个功能么 ...
- 基于linux vim环境python代码自动补全
(一)简述 在使用vim编写python文件的过程中,默认的vim不会实现代码补全功能,在写程序或者是改程序的时候不是很方面,很容易出错,但是vim提供了各种插件,其中包括这个python文件的自动补 ...
- linux下vim python代码自动补全
一.vim python自动补全插件:pydiction 可以实现下面python代码的自动补全: 1.简单python关键词补全 2.python 函数补全带括号 3.python 模块补全 4.p ...
- SublimeCodeIntel代码自动补全配置
主要使用python3,所有配置以python3为例.其他语言同理.利用sublimeCodeIntel插件可以实现自动提示python3代码.跳转追踪自定义函数.查看系统函数等.功能还是相当强大的. ...
- Eclipse 代码自动补全配置方法
Eclipse默认只有在出现 “.”时才进行代码提示,更改方法为: 即把“.”改为“.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ”,表示输 ...
- notepad++代码自动补全功能
可以代码自动补全功能,默认他是没有开启这个功能的,在首选项->备份与自动完成 里面有自动完成这一个设置,可以设置单词补全,也可以设置函数补全,这样写代码就快多了
- linux下让irb实现代码自动补全的功能
我不知道其他系统上irb是否有此功能,但是在ubuntu上ruby2.1.2自带的irb默认是没有代码自动补全功能的,这多少让人觉得有所不便.其实加上也很简单,就是在irb里加载一个模块:requir ...
- sublime_text3代码自动补全
因为项目需要用sublime_text3编辑器,安装之后代码自动补全功能没有,这比较苦恼. 其实蛮简单的 英文界面:menu->Preferences->Setting-User-> ...
随机推荐
- 09慕课网《进击Node.js基础(一)》HTTP-get/request
get是对request封装 可以在后台发起http请求,获取远程资源,更新或者同步远程资源 http.request(options[,callback]) 以下代码灌水失败: var http = ...
- Merge join、Hash join、Nested loop join对比分析
简介 我们所常见的表与表之间的Inner Join,Outer Join都会被执行引擎根据所选的列,数据上是否有索引,所选数据的选择性转化为Loop Join,Merge Join,Hash Join ...
- DPDK网卡绑定
进入DPDK目录编译环境 # cd ~/DPDK/usertools # ./dpdk-setup.py 注意,setup脚本需要在root权限下运行,并且每次重启电脑,都需要重新插入模块和绑定网卡. ...
- week4f:个人博客作业
8,工作中的照片 9,对方编程习惯总结 宋成鑫(以后简称老宋).老宋,对编程的思想看的比较重,具体什么是编程的思想,我是也不是很清楚.但是,在编程过程中,老宋的一些话给了我启示.这或许就是编程的思想吧 ...
- iOS 判断当前app版本,升级
要获取当前app store上的最新的版本,有两种方法, 一.在某特定的服务器上,发布和存储app最新的版本信息,需要的时候向该服务器请求查询. 二.从app store上查询,可以获取到app的作者 ...
- vue 过渡效果
Vue中提供了`<transition>`和`<transition-group>`来为元素增加过渡动画.文档写的很清楚,但是实际使用起来还是费了一番功夫.这里做一个简单的记录 ...
- crosses initialization of “XXX” 的问题
在switch-case中定义了变量,用g++编译的时候报错crosses initialization of “XXX” ,在网上一查,说是gcc要求变量的定义不能位于goto之后 将变量定义放在s ...
- p2 弹簧
P2中用来约束刚体运动的还有弹簧Spring. 弹簧除约束两个刚体之间的运动轨迹外,通过damping阻尼和stiffness刚度系数等属性,使得刚体在向目标移动时, 出现类似弹簧的简谐运动.Spri ...
- windows结束端口对应的进程
netstat -ano |findstr " //window查看端口占用 taskkill /pid 54828taskkill /F /pid 54828 //强制中止 转载请注明博客 ...
- how to disabled iframe page open new window / new tab
how to disabled iframe page open new window / new tab 禁用 iframe 中的页面打开新页面 <!DOCTYPE html> < ...