zoukankan      html  css  js  c++  java
  • 【Django实例】序言

    一、为什么选择Django

    在Python的众多Web框架中,Django一家独大,它的文档最完善、市场占有率最高、招聘职位最多。不管是出于学习还是应用的目的,Django都值得研究。

    飞龙的《浅谈Python Web框架》对Python的各个Web框架有很好的分析比较。

    二、为什么学习Django By Example

    初学Django,官方的入门教程《The Django Book》自然是首选。该教程循序渐进、条理清晰、简单易懂,坚持一路学习下来,会让初学者对Django有个良好的基本认识。然而为了便于讲解,教程中的例子都很简单,涉及的知识点也不够全面深入。

    如何才能更好地学习Django呢?[How I Learnt enough Python/Django to be Dangerous in 1 Month][Learning Django by example]都推荐了Django By Example。

    Django By Example提供了几个既实用又稍具规模的Django实例,是非常好的提升Django功力的素材,更为重要的是:你可以用Django做点有意思的东西了!

    相关资源:

    1. 教程:《Django By Example》

    2. 源码:dbe.tar.gz

    三、Django实例

    本文《Django实例》是研究Django By Example(简称DBE)的学习笔记。

    四、源码结构

    下载并解压dbe.tar.gz后,DBE源码的目录结构如下:

    dbe/
        mcbv/          (共享1:Django标准class-based view的修改版本,添加了一些额外的功能)
        shared/        (共享2:一些有用的函数和类)
        templates/     (共享3:Template模板)
        media/         (共享4:css布局、js代码、img图片等)
        blog/          (实例1:博客)
        bombquiz/      (实例2:炸弹竞猜)
        forum/         (实例3:论坛)
        issues/        (实例4:问题跟踪)
        portfolio/     (实例5:相册)
        questionnaire/ (实例6:调查问卷)

    五、准备工作

     1. 创建一个Django工程

    在Linux终端输入以下命令:

    $ cd /home/russellluo/Django
    $ django-admin.py startproject dbe

    dbe工程的目录结构如下:

    dbe/
        manage.py
        dbe/
            __init__.py
            settings.py
            urls.py
            wsgi.py

    2. 将DBE源码加入dbe工程

    由于DBE源码自成一体,源码中普遍采用 "from dbe.xx.yy import zz" 的方式来 "导入自身定义模块dbe/xx/yy.py中的符号zz",例如:

    # dbe/blog/models.py
    from
    django.db.models import * from django.contrib.auth.models import User from django.contrib import admin from django.core.mail import send_mail from dbe.shared.utils import * # 此处导入dbe/shared/utils.py模块中的所有符号 notify = False class Post(BaseModel): title = CharField(max_length=60) # 其余代码:略

    为了不改变DBE源码中的import语句,就需要将DBE源码主目录dbe(与dbe工程主目录同名,但二者相互独立)下的所有子目录,拷贝到dbe工程主目录下的dbe子目录中。修改后dbe工程的目录结构如下:

    dbe/
        manage.py
        dbe/
            __init__.py
            settings.py
            urls.py
            wsgi.py
            mcbv/
            shared/
            templates/
            media/
            blog/
            bombquiz/
            forum/
            issues/
            portfolio/
            questionnaire/

    这样一来,"from dbe.shared.utils import *"语句就能成功找到"dbe/shared/utils.py"文件,并导入该模块中的所有符号了。

  • 相关阅读:
    laravel框架——保存用户登陆信息(session)
    laravel框架——增删改查
    laravel框架——表单验证
    laravel框架——上传、下载文件
    Forms & HTML 组件
    phantomJS+Python 隐形浏览器
    Python idle中lxml 解析HTML时中文乱码解决
    python 根据字符串语句进行操作再造函数(evec和eval方法)
    python通过LXML库读取xml命名空间
    Python通过lxml库遍历xml通过xpath查询(标签,属性名称,属性值,标签对属性)
  • 原文地址:https://www.cnblogs.com/russellluo/p/3137425.html
Copyright © 2011-2022 走看看