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), ]
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