python manage.py syncdb 在django1.7已经被取代了;用python manage.py migrate 代替来移动库;
 
删除、卸载django 在cd /usr/local/lib/python2.7/dist-packages/
将有关django的目录删除
 
安装:pip install Django==1.9
 
查看django版本信息:
python -c "import django; print(django.get_version())"
新建工程
django-admin.py startproject mysite
aiapple@Aiapple:~/mysite$ tree
.mysite
├── manage.py
└── mysite
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
1 directory, 5 files
  • .mysite 工程的根目录,是工程的一个容器,名字可以随意更改
  • manage.py提供了多种与工程交互的途径。manage.py细节
  • 根目录下面的mysite目录是,工程实际的python包所在位置。他的名字是在声明python包是的前缀例如,mysite.urls;
  • mysite/__init__.py,是一个空文件,用来告诉python这个目录应该考虑是python包的目录
  • mysite/settings.py,设置配置这个django工程;Django setting,将告诉你如何设置
  • mysite/urls.py,django工程的url声明;是为django站点提供动力的目录表;详细参照 URL dispatcher
  • mysite/wsgi.py 是一个兼容性web服务器的入口点,用来服务我们的工程, How to deploy with
 
运行程序:在mysite这个根目录下
$ python manage.py runserver
注意默认是打开,8000端口此时打开浏览器:  http://127.0.0.1:8000/ 
此时django已经工作了;
当然也可以打开其他端口,其他iP;例如:
$ python manage.py runserver 8080
$ python manage.py runserver 0.0.0.0:8080

 
创建一个Polls应用
  $ python manage.py startapp polls
polls应用会自动生成基础目录以及其他应用结构,这样我们可以专注于写代码而不是去创建各种目录结构;
aiapple@ubuntu:~/mysite/polls$ tree
.
├── admin.py
├── apps.py
├── __init__.py
├── migrations
│ └── __init__.py
├── models.py
├── tests.py
└── views.py
1 directory, 7 files
 
写第一个视图
polls/views.py
#运用django库写一个view
from django.http import HttpResponse def index(request):
return HttpResponse("Hello, world. You're at the polls index.")

这可能是最简单的django的view,为了调用这个view需要映射到一个URL上去,因此我们需要去配置URL;因此我们需要在polls目录下面创建一个urls.py这个文件,用来配置URL;

polls/urls.py
#调用django的urls配置模块
from django.conf.urls import url
#声明刚刚写的views模块
from . import views
#建立两者联系
urlpatterns = [
url(r'^$', views.index, name='index'),]
 
下一步将polls.urls这个应用的url配置,告诉工程的url配置即:mysite/urls.py;
 
mysite/urls.py
from django.conf.urls import include, urlfrom django.contrib import admin urlpatterns = [
url(r'^polls/', include('polls.urls')),
url(r'^admin/', admin.site.urls),]
 
简单来讲include就是将app的urlconf,包括到工程的urlconf中,这里只有admin这app是例外其余都是;
 
检验一下新写的view是否工作:
$ python manage.py runserver
打开http://127.0.0.1:8000/polls
 
url()函数在刚刚的过程中经过了4个参数,two required:regex,view;two optional:kwargs,name;
 
url()argrument:regex
俗称正则表达式,用来表达式;Django从第一个正则表达式开始,用他的方式下载正则列表;比较请求url和正则表达式直到发现一个匹配的项;
注意:正则表达式不去寻找GET或post的参数,或者域名;例子:请求:http://www.example.com/myapp/ ;URLconf会找myapp/;或者请求http://www.example.com/myapp/?page=3;URLconf依然会找myapp/
 
url()argrument:view
当Django找到正则匹配式,便用调用特殊的view函数,HttpRequest对象作为第一个参数,其他来则正则表达式的值做为其他参数
 

Python之Django-part 1的更多相关文章

  1. [Python] 利用Django进行Web开发系列(一)

    1 写在前面 在没有接触互联网这个行业的时候,我就一直很好奇网站是怎么构建的.现在虽然从事互联网相关的工作,但是也一直没有接触过Web开发之类的东西,但是兴趣终归还是要有的,而且是需要自己动手去实践的 ...

  2. [Python] 利用Django进行Web开发系列(二)

    1 编写第一个静态页面——Hello world页面 在上一篇博客<[Python] 利用Django进行Web开发系列(一)>中,我们创建了自己的目录mysite. Step1:创建视图 ...

  3. VIM for Python and Django Development

    VIM for Python and Django Development VIM-PyDjango created by Programmer for Programmer who work on ...

  4. Window环境下Python和Django的安装

    转载地址:http://blog.csdn.net/haoni123321/article/details/7593821 1.下载python,本文使用python-2.7.2.msi 2.下载dj ...

  5. Python和Django在Windows上的环境搭建

    作为一个.NET程序员,真心不喜欢Python以及PHP这种松散的语法.有人说,程序员应该多学几门语言,本想学习Java,无奈感觉Java的语法太啰嗦了.很多人都推荐Python,说它的语法简洁,执行 ...

  6. 【Python】django安装

    官方下载:https://www.djangoproject.com/download/ 报错 [root@test Django-]# python setup.py install Traceba ...

  7. Python和Django的Third Libraby分类汇总

    这些第三方包与Python和Django一起构成了强大的生态系统,自己在开发时大大减小工作难度和工作量, 这些包基本上能满足我们的大部分需求.人与人的差距,其中一点是你知道的比他多,这样你就能大大提高 ...

  8. 用Python和Django实现多用户博客系统(二)——UUBlog

    这次又更新了一大部分功能,这次以app的形式来开发. 增加博客分类功能:博客关注.推荐功能(ajax实现) 增加二级频道功能 更多功能看截图及源码,现在还不完善,大家先将就着看.如果大家有哪些功能觉的 ...

  9. Django中国|Django中文社区——python、django爱好者交流社区

    Django中国致力于成为Python和Django框架等技术的中文开发者学习交流平台. 内容涵盖python教程.python基础.Django教程.python入门.web.py教程.linux教 ...

  10. Python 学习笔记13:Python + wsgi + django 配置。坑爹的python3和wsgi不兼容的解决

    今人不见古时月,今月曾经照古人.生命是如此的美丽与短暂! 学习Python已经两个月了,Python的语法通过做简单的语法题和看Python语法介绍,有了初步的了解.但上班还是要做别的事情,所以感觉学 ...

随机推荐

  1. Linux学习-延伸正则表达式

    grep 默认仅支持基础正则表达式,如果要使用延伸型正则 表达式,你可以使用 grep -E , 不过更建议直接使用 egrep !直接区分指令比较好记忆!其 实 egrep 与 grep -E 是类 ...

  2. matlab callback 数据传递

    M文件中内的每个Callback都可以视为一个独立的可执行的接口,因此,任一个Callback触发后所执行的运算值若要在其他Callback中使用,就无法与MATLAB工作空间内的变量继续执行操作,也 ...

  3. Android工具 Hierarchy Viewer 分析

    Hierarchy Viewer是随AndroidSDK发布的工具,位置在tools文件夹下,名为hierarchyviewer.bat.它是Android自带的非常有用而且使用简单的工具,可以帮助我 ...

  4. luogu2153 [SDOI2009]晨跑

    要想限制流量,总要想着拆点. #include <iostream> #include <cstring> #include <cstdio> #include & ...

  5. 如何安装mongodb.msi

    到MongoDB官网下载MongoDB软件:mongodb-win32-x86_64-2008plus-ssl-3.0.2-signed.msi, 放在想要安装的地方: 如:d:\MongoDB\ 2 ...

  6. python踩坑系列——报错后修改了.py文件,但是依然报错

    一开始.py文件中的函数名大小写错了,但是在终端是对的,报错: 'module' object has no attribute '某函数名' 后来就去修改.py文件.结果重新import该.py文件 ...

  7. 【java基础 16】抽象类和接口的区别

    导读:前两天闲着没事儿,看了本书,然后写了点代码,在接口里面写了默认方法实现,因为书上说这个特性是从java8开始的,我还特地给测了一下java7. 没过几天,就有一个技术分享会,刚好也是讲java8 ...

  8. Linux Shell系列教程之(五)Shell字符串

    本文是Linux Shell系列教程的第(五)篇,更多shell教程请看:Linux Shell系列教程 字符串是Shell编程中最常用最有用的数据类型,今天,Linux大学网就为大家介绍一下在She ...

  9. Welcome-to-Swift-20扩展(Extensions)

    扩展就是向一个已有的类.结构体或枚举类型添加新功能(functionality).这包括在没有权限获取原始源代码的情况下扩展类型的能力(即逆向建模).扩展和 Objective-C 中的分类(cate ...

  10. 给某个li标签家样式

    HTML: <div class="tabs clearfix"> <ul id="der"> <li ><a hre ...