zoukankan      html  css  js  c++  java
  • LNMP系列网站零基础开发记录(二)

    [目录]
    1. 扯淡吹逼之开发前奏
    2. Django 开发环境搭建及配置
    3. web 页面开发
    4. Django app开发
    5. Django 站点管理
    6. Python 简易爬虫开发
    7. Nginx&uWSGI 服务器配置
    8. ...

     二、Django 开发环境搭建及配置

     1. 开发环境

      开发环境依然是Windows,可以开发的django的IDE较多,我只使用过以下几种

    1. Eclipse      免费IDE,需要下载pydev插件,代码提示功能不错
    2. Visual Studio  需要下载PTVS,结合了VS强大的编辑功能,作为C#码农用起来比较顺畅,但是很多build in的函数代码没有提示
    3. PyCharm      Resharper的开发商开发的Python IDE,代码提示功能非常强大,特别适合我这种刚学python的又用惯了VS的小菜比

      So,我们毫不犹豫的选择了PyCharm。

      Python 选择了2.7.6,安装后配置环境变量,同时下载setuptools,解压之后运行

    x:setuptools-dir> easy_install.py install

      安装完后,同时配置添加python-dir/scripts到环境变量,方便运行easy_install命令,同时还可以安装pip,两个都是安装python包的利器,具体有什么差别楼主也没细究,使用方式分别如下

    x:> easy_install package-name
    x:> pip install package-name 

      然后就可以用无脑的方式安装后面的包了,django-1.6.5

    x:> easy_install django

      其次是安装MySQL5.6,一路点下去就好了。

      至此,开发环境搭建完毕。由于我们使用的开发工具都有linux的版本,因此换平台也非常容易。Let's go!

      2. 项目配置

      SETP.1  打开PyCharm,新建项目,项目名叫errordev,项目类型选择Django Project,点击OK

      SETP.2  在弹出的新建app设置里输入app名称errorapp,其他保持默认即可,这样一个崭新的django站点已经建立起来,此时SHIFT+F10即可运行站点,默认使用8000端口

      此时我们可以看见我们的项目目录结构如下,

    errordev
    ----errorapp
    --------__init.py
    --------admin.py
    --------models.py
    --------views.py ----errordev
    --------__init__.py
    --------settings.py
    --------urls.py
    --------wsgi.py ----templates ----manage.py

       具体哪个文件有什么用就不单独解释了吧,看名字就知道了,django作为有优秀的MVC框架和.NET MVC有些区别,其views.py完成了controller的功能,而templates则完成了view的功能。

      默认django的templates是放在每个app的目录下的,这样可以保证每个app的独立性和复用性,但是比较分散,不利于维护,PyCharm在SETP.2的时候提供了templates folder的选项,可以改变默认路径,使得所有的app的templates都集中在一起。这里也可以对settings.py直接进行配置

      在文件的最上面定义基本路径(PyCharm已自动定义好了)

    import os
    BASE_DIR = os.path.dirname(os.path.dirname(__file__))

      然后修改templates的地址,django会在优先在元组中搜寻templates

    TEMPLATE_DIRS = (
        os.path.join(BASE_DIR,  'templates'),
    )

      在使用PyCharm时,默认的第一个app会自动注册,如果是其它的IDE可能需要手动注册下

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

      同时配置MySQL连接,django是支持多数据库的,一个key-value对即代表了一个数据库连接,model层使用using关键词即可切换数据库,有兴趣的同学可以自行研究下。

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'errordev',
            'USER': 'root',
            'PASSWORD': '123456',
            'HOST': 'localhost',
            'PORT': '3306',
        }
    }

      然后将LANGUAGE_CODE修改为中文,这里是为了使用站点管理功能的时候提供中文界面。

    LANGUAGE_CODE = 'zh-cn'

      最后就是最头疼的静态文件配置了,google了好久,很多看似有用的方法不知道在楼主这为什么没用,so,自力更生,根据官方文档挨个挨个试,这里主要用了三项目 

    STATIC_ROOT = os.path.join(BASE_DIR, '/media/')
    STATIC_URL = '/media/'
    STATICFILES_DIRS = (
        os.path.join(BASE_DIR, "media"),
    )

      首先是STATIC_URL,这里主要是告诉django哪些路径是需要映射到静态文件的,然而具体映射到哪里,则是由STATICFILES_DIRS来定义,可以包含多个绝对路径,django在依次搜索所有的目录,直到完成映射。而使用这两个配置的前提,是在INSTALLED_APPS的注册django.contrib.staticfiles,默认是包含了这个模块的,同时这里只保证在

    DEBUG = True

    的时候生效,也就是只有在DEV环境里使用默认的django开发服务器时生效。  

    [这里部署的时候会再提到]通常PRD环境里的静态文件都配置在了Apache或者Nginx里,此时这个两个配置其实是没什么用的,这里就需要引入STATIC_ROOT,它的作用目前我只在PRD环境里用到了,因为将静态文件映射的配置直接写在Aapche或Nginx里是完全没有问题的,但是我们在用到django的站点管理功能时,对应的静态文件在PRD环境里就会出现找不到的问题,这里配置了STATIC_ROOT之后,我们使用shell命令(在PyCharm按住Ctrl+Alt+R,输入collectstatic)会自动将所有的静态文件都收集到STATIC_ROOT目录下,包括站点里我们自己添加的静态文件和django本身管理功能提供的静态文件,这样PRD环境里管理功能静态文件找不到的问题就解决了

     PS.

    1. 表达能力较差,以后慢慢更新,同时[目录]会随着跟新进度随时调整,欢迎大家拍砖!
    2. 网站链接会在数据积累一段时间后提供
    作者:Starup
    出处:http://www.cnblogs.com/starup
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Pandas的高级操作
    Pandas的拼接操作
    Matplotlib基础使用
    股票分析案例
    Pandas处理缺失的数据
    Pandas的基础使用
    python前端之CSS基础--常用样式
    python前端之CSS介绍--选择器
    python实现网站用户名密码自动登录
    Python前端HTML介绍
  • 原文地址:https://www.cnblogs.com/starup/p/3808672.html
Copyright © 2011-2022 走看看