zoukankan      html  css  js  c++  java
  • 初识django

    第一个项目

    使用下面的命令创建项目:

    django-admin.py startproject mysite


    这个在windows下需要先进入F:pythonFolderLibsite-packagesDjango-1.8.5-py2.7.eggEGG-INFOscripts找到django-admin.py才能执行。

    在当前目录下,将生成mysite文件夹。其文件树结构如下:

     mysite
    ├── manage.py
    └── mysite
        ├── __init__.py
        ├── settings.py
        ├── urls.py
        └── wsgi.py
    
    1 directory, 5 files 

     目录说明:

    manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
    __init__.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
    settings.py: 该 Django 项目的设置/配置。
    urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
    wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目

    进入mysite,启动服务器:

    python manage.py runserver 8000

    上面的8000为端口号。如果不说明,那么端口号默认为8000。

    打开浏览器,访问http://127.0.0.1:8000,可以看到服务器已经在运行:

    虽然有一个能跑的服务器,但什么内容都没有。

    第一个网页 

    视图和 URL 配置

    在先前创建的 mysite 目录下的 mysite 目录新建一个 view.py 文件,并输入代码:

    # -*- coding: utf-8 -*-
    from django.http import HttpResponse
    
    def hello(request):
        return HttpResponse('Hello world!')

    接着,绑定 URL 与视图函数。打开 urls.py 文件,删除原来代码,将以下代码复制粘贴到 urls.py 文件中:

    from django.conf.urls import *
    from mysite.view import hello
    
    urlpatterns=patterns("",
                         url(r'^$','mysite.view.hello'),
                         )

    完成后,启动 Django 开发服务器,并在浏览器访问打开浏览器并访问,页面如下:

    注意:项目中如果代码有改动,服务器会自动监测代码的改动并自动重新载入,所以如果你已经启动了服务器则不需手动重启。

    增加APP

    一个网站可能有多个功能。我们可以在Django下,以app为单位,模块化的管理,而不是将所有的东西都丢到一个文件夹中。在mysite下,运行manange.py,创建新的app:

    python manage.py startapp fruit

    这个新的app叫做fruit,用来处理水果。

    我们还需要修改项目设置,说明我们要使用fruit。在mysite/setting.py中,在INSTALLED_APPS中,增加"fruit":

    INSTALLED_APPS = (
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'fruit',
    )

    可以看到,除了新增加的fruit,Django已经默认加载了一些功能性的app,比如用户验证、会话管理、显示静态文件等。

    增加APP页面

    我们下面为APP增加首页。我们之前是在mysite/urls.py中设置的URL访问对象。依然采用类似的方式设置。

    另一方面,为了去耦合,实现模块化,我们应该在fruit/urls.py中设置URL访问对象。具体如下:

    首先,修改mysite/urls.py:

    from django.conf.urls import *
    from mysite.view import hello
    
    urlpatterns=patterns("",
                         url(r'^$','mysite.view.hello'),
                         url(r'^fruit/',include('fruit.urls')),
                         )

    注意新增加的最后一行。这里,我们提醒指挥员,对于fruit/的访问,要参考fruit/urls.py。

    随后,我们创建fruit/urls.py,添加内容:

    from django.conf.urls import *
    
    urlpatterns=patterns('',
                         url(r'^$','fruit.views.apple'),
                         )

    将URL对应fruit下,views.py中的apple函数。

    最后,在fruit下,修改views.py为:

    from django.http import HttpResponse
    
    def apple(request):
        return HttpResponse("<p>fruit</p>")

    完成后,启动 Django 开发服务器,访问http://127.0.0.1:8000/fruit,查看效果。

    可以看到,Django的创建过程非常简单。但这只是初次尝试Django。为了创建一个完整功能的网站,还需要调用Django许多其它的功能。

    参考文章:http://www.cnblogs.com/vamei/p/3528878.html

                    http://www.runoob.com/django/django-first-app.html

  • 相关阅读:
    证明 O(n/1+n/2+…+n/n)=O(nlogn)
    ZOJ 3623 Battle Ships DP
    ZOJ 3631 Watashi's BG DFS
    ZOJ 3622 Magic Number 打表找规律
    poj 1088 滑雪 记忆化搜索
    poj 1273 Drainage Ditches 网络流最大流基础
    Codeforces Round #243 (Div. 1)A. Sereja and Swaps 暴力
    UVALive 5059 C
    Codeforces Round #295 (Div. 2)C
    Codeforces Round #295 (Div. 2)B
  • 原文地址:https://www.cnblogs.com/whats/p/4903960.html
Copyright © 2011-2022 走看看