1.Install 

sudo apt-get install python-pip
sudo pip install django==1.8

 2. Create Project

django-admin startproject projname

3. Create App

cd prjname
python manage.py startapp appname

4. Center URL&&setting

Control center in projname/projname/
##url config
Url Pattern setting
url(r^$,include('tcmwebapp.urls')),
url(r'^tcmwebapp',include('tcmwebapp.urls')),
## static url setting
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

## setting config
INSTALL APP( appname )

5. app urls&&view,

## url config
cd appname/
touch urls.py
url(r'xxx',views.fucname,name=XXX)
### views.py
def fucname():
return HttpResponse("helloworld")
cd projname/
python manage.py runserver
(tip:0.0.0.0:)
chrome localhost:8090
### helloworld

6. Global Config

cd projname/
mkdir static
mkdir templates
cd appname/
mkdir static/appname
mkdir templates/appname

7. static&templates&setting AutoTool: djangobower

7.1 Install.

sudo apt-get install python-software-properties
sudo apt-get install node
sudo apt-get install nodejs
sudo apt-get install npm
sudo apt-get install git
curl -SL http://deb
.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install nodejs-legacy
sudo npm install -g bower
sudo pip install django-bower

7.2 Config

http://django-bower.readthedocs.io/en/latest/index.html
import os PROJECT_ROOT = os.path.abspath(
os.path.join(os.path.dirname(__file__), ".."),
) DEBUG = True
TEMPLATE_DEBUG = DEBUG DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'db',
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
}
} STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static') STATIC_URL = '/static/' BOWER_COMPONENTS_ROOT = os.path.join(PROJECT_ROOT, 'components') STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'djangobower.finders.BowerFinder',
) SECRET_KEY = 'g^i##va1ewa5d-rw-mevzvx2^udt63@!xu$-&di^19t)5rbm!5' TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
) MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
) ROOT_URLCONF = 'example.urls' WSGI_APPLICATION = 'example.wsgi.application' TEMPLATE_DIRS = (
os.path.join(PROJECT_ROOT, 'templates'),
) INSTALLED_APPS = (
'django.contrib.staticfiles',
'djangobower',
) BOWER_INSTALLED_APPS = (
'jquery',
'underscore',
)

7.2 Use

python manage.py bower_install
python manage.py collectstatic
Change projname center UrlConfig
urlpattern += (settings.STATIC_URL,name=settings.STATIC_Document)
urlpattern +=(settings.MEDIA_URL,name=settings.MEDIA_Document)

8. Design Web Templates

8.1 View distrubution

python manage.py makemigrations
python manage.py migrate
### update database

8.2 create html 

8.2.1 base.html

projectname/templates/base.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE =edge">
<meta name="viewport" content = "width=device-width,initial-scale=1">
<title>
{% block title %}WebNet{% endblock %}
</title>
{% load staticfiles %}
<link rel="stylesheet" href={% static 'bootstrap/dist/css/bootstrap.css' %}>
<script src={% static 'jquery/dist/jquery.min.js' %}></script>
<script src={% static 'bootstrap/dist/js/bootstrap.min.js' %}></script>
{% block head %}
{% endblock %}
</head>
<body>
{% block body %}
{% endblock %}
<div class="scripts">
{% block scripts %}
{% endblock %}
</div>
</body>
</html>

8.2.3 user_base.html

{% extends "base.html" %}
{% load staticfiles %}
{% block head %}
<!-- <link rel="stylesheet" href={% static 'usercenter/css/style.css' %}>
--> {% endblock %}
{% block scripts %}
{% endblock %}

8.3.4 web html

{% extends "netapp/base_netapp.html" %}
{% block body %}
<link href="/static/netapp/css/search.css" rel="stylesheet"> <section class="content">
<div class="container-fluid">
<div class="form">
<div class="form-title">心脏毒性网络</div>
<div class="form-body">
<form class="navbar-form" action="/netapp/search" method="post" role="search"> {% csrf_token %}
<table>
<input type="text" class="form-control" name="chem_name" size="60" maxlength="60" placeholder="Chemical Name">
<button type="submit" class="btn btn-danger navbar-btn">Submit</button>
</table>
</form>
</div>
</div>
</div>
</section>
{% endblock %}
{% block scripts %}
<!-- <script src = "/static/usercenter/js/userApp.js"></script> -->
{% endblock %}

8.3.5 css add

.form{
margin-top: 150px;
margin-right: 10px;
margin-left: 10px;
text-align: center;
} .form-title{
font-weight:bold;
font-family:arial,verdana,sans-serif;
font-size:18px;
}

9. Design View

from django.shortcuts import render
from django.http import HttpResponse
from tasks import chem_gene_query
# Create your views here.
def index(request):
return render(request,"netapp/index.html") def search(request):
if request.method == "POST":
message = request.POST["chem_name"]
result = chem_gene_query(message)
return render(request,"netapp/result.html",{"result":result})
return render(request,"netapp/index.html")

10. add scripts in project 

#!/usr/bin/env/python
# -*- coding:UTF-8 -*-
from __future__ import print_function
import MySQLdb
import sys def mysql_connect():
try:
conn = MySQLdb.connect(host="localhost",user="tcd_net",
passwd='tcd_net',db='ctd_net',port=3306,charset='utf8')
cur = conn.cursor()
return conn,cur
except MySQLdb.Error,e:
print(e.args)
sys.exit(1) def query_db(conn,cursor,command):
try:
cursor.execute(command)
conn.commit()
results = cursor.fetchall()
return results
except MySQLdb.Error,e:
print(e.args)
sys.exit(1) def chem_gene_query(chem):
conn,cur = mysql_connect()
query_command = """select chemicalName,chemicalID,casId,
genesymbol,geneid,geneforms,organism,organismid,interaction,
interactionActions,pubmedid from chem_gene where chemicalName = "%s";"""%chem
chem_gene_result = query_db(conn,cur,query_command)
result = []
keys = ["chemicalName","chemicalID","casId","genesymbol",
"geneid","geneforms","organism","organismid",
"interaction","interactionActions","pubmedid"]
for res in chem_gene_result:
out = {}
for i in range(len(res)):
out[keys[i]] = res[i]
if out:
result.append(out)
return result

11. Design results Display

{% extends "netapp/base_netapp.html" %}
{% block body %}
<link href="/static/netapp/css/search.css" rel="stylesheet"> <section class="content">
<div class="container-fluid">
<table class="table table-bordered table-condensed">
<caption>SearchResults</caption>
<thead>
<tr>
<th>chemicalName</th>
<th>genesymbol</th>
<th>interactionActions</th>
<th>pubmedid</th>
</tr>
</thead>
{% for i in result %}
<tbody>
<tr>
<td>{{ i.chemicalName }}</td>
<td>{{ i.genesymbol }}</td>
<td>{{ i.interactionActions }}</td>
<td>{{ i.pubmedid }}</td>
</tr>
</tbody>
{% endfor %}
</table>
</div>
</section>
{% endblock %}
{% block scripts %}
<!-- <script src = "/static/usercenter/js/userApp.js"></script> -->
{% endblock %}

python 培训之Django的更多相关文章

  1. 2015老男孩Python培训第八期视频教程

    2015老男孩Python培训第八期视频教程,希望您通过本教程的学习,能学会常用方法和技巧.教程从基础知识开始讲解一直到后期的案例实战,完全零基础学习,从初学者的角度探讨分析问题,循序渐进由易到难,确 ...

  2. 老王Python培训视频教程(价值500元)【基础进阶项目篇 – 完整版】

    老王Python培训视频教程(价值500元)[基础进阶项目篇 – 完整版] 教学大纲python基础篇1-25课时1.虚拟机安装ubuntu开发环境,第一个程序:hello python! (配置开发 ...

  3. 曾Python培训讲师-2年Python开发无包装简历-20191217-可公开

    目录 个人介绍 技能介绍 项目经历 自我评价 简历非完整版,需要完整版看下述信息,禁止任何一切私人用途.转发 我生日是27号,那就27元一份,有需求的来购买!只会涨价不会降价,大概卖10份涨1元:曾P ...

  4. Python攻关之Django(一)

    课程简介: Django流程介绍 Django url Django view Django models Django template Django form Django admin (后台数据 ...

  5. python框架之django

    python框架之django 本节内容 web框架 mvc和mtv模式 django流程和命令 django URL django views django temple django models ...

  6. Python Virtualenv运行Django环境配置

    系统: RHEL6.5 版本说明: Python-3.5.0 Django-1.10.4 virtualenv:为每个项目建立不同的/独立的Python环境,你将为每个项目安装所有需要的软件包到它们各 ...

  7. 【Python实战】Django建站笔记

    前一段时间,用Django搭建一个报表分析的网站:借此正好整理一下笔记. 1. 安装 python有包管理工具pip,直接cd Python27/Scripts,输入 pip install djan ...

  8. 智普教育Python培训之Python开发视频教程网络爬虫实战项目

    网络爬虫项目实训:看我如何下载韩寒博客文章Python视频 01.mp4 网络爬虫项目实训:看我如何下载韩寒博客文章Python视频 02.mp4 网络爬虫项目实训:看我如何下载韩寒博客文章Pytho ...

  9. python学习笔记--Django入门四 管理站点--二

    接上一节  python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...

随机推荐

  1. [转]java 输出流转输入流

    ByteArrayOutputStream.toByteArray ByteArrayInputStream StringWriter.toString StringReader 字符流和二进制流是j ...

  2. 37-wc 简明笔记

    显示行数.单词数和字节数 wc [options] [file-list] 参数 file-list是wc分析的一个或多个文件的路径名列表.如果省略file-list,wc就从标准输入中读取输入 选项 ...

  3. 天气预报API获取

    1.citycode: http://mobile.weather.com.cn/js/citylist.xml http://files.cnblogs.com/files/ys-wuhan/cit ...

  4. 各种图(流程图,思维导图,UML,拓扑图,ER图)简介

    来源于:http://www.cnblogs.com/jiqing9006/p/3344221.html 流程图 1.定义:流程图是对过程.算法.流程的一种图像表示,在技术设计.交流及商业简报等领域有 ...

  5. 本机ubuntu链接阿里云服务器(也是ubuntu)

    首先在本机安装ssh工具,并修改配置文件(参考:http://www.cnblogs.com/herd/p/5009067.html) 第一步:ssh 100.121.156.32(即:服务器的ip地 ...

  6. easyui-datagrid 报错:TypeError: col is null

    一般是由于设置的属性用到的列,如: idField:'aa', sortName:'bb' 等在 columns:[[{field:'cc',width:80,title:'列cc'}, {field ...

  7. JavaScript的由来, 浏览器的20年

    在很久以前那时候还没有Yahoo,Google....人们还在用28.8kbit/s的"猫"上网, 用户注册或者登录的时候所有的验证都是在服务器验证的, 如果用户注册的时候用户名或 ...

  8. 强联通 poj 2762

    t个样例    (注意清零) n个点m条边 有向; 任意2点是否能从a->b或者b->a; Yes  No #include<stdio.h> #include<algo ...

  9. mssql-异常value '0000-00-00' can not be represented as java.sql.Date

    Mysql开发中采用ResultSet取值時,不管是才用getString()还是用getDate(),或者getObject,均会拋出如题所述异常.查阅Mysql官方Bug咨询: 是因为日期型(Da ...

  10. mybatis实战教程(mybatis in action),mybatis入门到精通

    转自:http://www.yihaomen.com/article/java/302.htm (读者注:其实这个应该叫做很基础的入门一下下,如果你看过hibernate了那这个就非常的简单) (再加 ...