zoukankan      html  css  js  c++  java
  • Django第一步

    引文:http://blog.csdn.net/thinkinside/article/details/7218340?reload

    对于一个web框架,掌握了三部分的内容,就可以说是迈出了第一步。

    1. 准备开发环境

    2. 创建一个工程,并运行

    3. 开发hello world应用

    1. 准备环境

        首先应该是安装python和django。这点官方网站有很详细的说明,网上也有很多教程,这里就不再重复了,只是表达一个对操作系统的观点:

              Mac OS:对程序员和用户都很友好
              Linux:    对程序员很友好
              Widows:对用户貌似友好
        到底使用哪个操作系统,仁者见仁。

        

       然后是开发工具的选择。建议抛弃IDE,使用一个好的文本编辑器。强烈推荐vim。但如果你选择Emacs,我无话可说。

    2. 创建工程         

         Django作为一个web框架,第一步应该是能够在浏览器中看到页面。如果已经安装好环境的话。

         首先创建工程:django-admin.py startproject depot,即开始创建名为depot的工程。

         与rails相比,过程很安静,结果很干净。如下:

          depot/
                 __init__.py
                 manage.py
                 settings.py
                 urls.py
    这几个文件的作用如下:

         _init__.py :Python的模块定义文件。 这是一个空文件,一般你不需要修改它。
         manage.py :一个命令行工具,生成这个文件仅仅是为了方便。可以通过python manage.py help 查看该工具的功能。完全不需要编辑这个文件。

         settings.py :该 Django 项目的设置或配置。 
         urls.py:Django项目的URL设置。 
    与rails不同,django初始工程的文件很少,可以很容易地阅读所有的代码。但这些文件已经构成了一个可运行的Django应用。

    进入工程目录并运行该工程:

    cd depot/
    python manage.py runserver

    可以看到一些提示信息:

    Validating models...

    0 errors found
    Django version 1.3, using settings 'depot.settings'
    Development server is running at http://127.0.0.1:8000/
    Quit the server with CONTROL-C.
    [29/Jan/2012 02:09:17] "GET / HTTP/1.1" 200 2049

    此时web server(开发环境!)已经运行了,用浏览器访问http://127.0.0.1:8000/,可以看到如下的界面:



    说明Django已经开始工作了。

    3. hello Django!

           与rails不同,django不需要生成controller,helper, view 等等一大堆文件,要实现一个hello程序,只需要几行代码。
           Django Web应用中通常包含URLconf, view, template, model 四个部分(参考《URLconf+MTV:Django眼中的MVC》)。但这些部分不是完全必需的。比如我们要实现一个最简单的 "hello, Django!", 只需要定义URLconf和view即可。
          

           让我们把“需求”明确一下,hello,Django!实现如下功能:在浏览器中输入http://127.0.0.1:8000/hello, 显示“hello Django!”。


          首先要实现一个视图(view) 来响应请求。在Django中视图是一个函数,该函数接受一个HttpRequest参数,并返回一个HttpResponse。我们可以在任何地方定义这个函数,但通常会放在Django app 的 views.py 文件中。在hello,Django中我们不需要创建一个Django app(因为不需要model),所以可以在project 目录中创建一个view.py 文件,并定义hello(request)视图函数:

    depot/views.py:

    [python] view plaincopy
     
    1. from django.http import HttpResponse  
    2.   
    3. def hello(request):  
    4.     return HttpResponse("hello, Django!")  


    接下来是将前面定义的URL 映射到 这个视图函数。这是由URLconf完成的。URLconf的本质是 URL 模式以及要为该 URL 模式调用的视图函数之间的映射表。
    打开生成的urls.py文件,先在文件前面import刚才创建的view,然后在tuple类型的变量urlpatterns中加入hello的映射关系:

    [python] view plaincopy
     
    1. from django.conf.urls.defaults import patterns, include, url  
    2. from depot.views import hello  
    3.   
    4. urlpatterns = patterns('',  
    5.     url(r'^hello/$', hello),  
    6. )  

     
    此时访问 http:/127.0.0.1:8000/hello, 将会显示 hello, Django!


    URLconf理解起来也很容易,即 urlpatterns中的每一项是一个二元组(正则表达式,视图函数)。当Django 接收到HTTP请求的时候,从urlpatterns中找到匹配的表达式,并将请求发生给对应的视图函数,最后视图函数返回一个HTTP响应,交给Django处理。如此而已。

    至此,Django的第一步已经迈出,你至少已经可以开始CGI风格的web开发了。

  • 相关阅读:
    Neko's loop HDU-6444(网络赛1007)
    Parameters
    SETLOCAL
    RD / RMDIR Command
    devenv 命令用法
    Cannot determine the location of the VS Common Tools folder.
    'DEVENV' is not recognized as an internal or external command,
    How to change Visual Studio default environment setting
    error signing assembly unknown error
    What is the Xcopy Command?:
  • 原文地址:https://www.cnblogs.com/michaely/p/3340093.html
Copyright © 2011-2022 走看看