美文网首页
2018-12-17

2018-12-17

作者: Karl_2c80 | 来源:发表于2018-12-17 21:33 被阅读0次

    django简介

    • Django是python语言写的一个Web框架包
    • Django的理念:DRY(Don't Repeat Yourself)

    Django有如下特点:

    1. 强大的数据库功能
      拥有强大的数据库操作接口(QuerySet API),如需要也能执行原生SQL
    2. 自带强大后台
      几行简单的代码就让你的网站拥有一个强大的后台,轻松管理内容
    3. 优雅的网址
      用正则匹配网址,传递到对应函数,随意定义,如你所想
    4. 模板系统
      强大,易扩展的模板系统,设计简易,代码,样式分开设计,更容易管理
    5. 缓存系统
      与Memcached, Redis等缓存系统联用,更出色的表现,更快的加载速度
    6. 国际化
      完全支持多语言应用,允许你定义翻译的字符,轻松翻译成不同国家的语言

    常用模块

    1. urls.py
      网址入口,关联到对应的views.py中的一个函数(或者generic类),访问网址就对应一个函数。
    2. views.py
      处理用户发出的请求,从urls.py中对应过来, 通过渲染templates中的网页可以将显示内容,比如登陆后的用户名,用户请求的数据,输出到网页。
    3. models.py
      与数据库操作相关,存入或读取数据时用到这个,当然用不到数据库的时候 你可以不使用。
    4. forms.py
      表单,用户在浏览器上输入数据提交,对数据的验证工作以及输入框的生成等工作,当然你也可以不使用。
    5. admin.py
      后台,可以用很少量的代码就拥有一个强大的后台。
    6. settings.py
      Django 的设置,配置文件,比如 DEBUG 的开关,静态文件的位置等。

    django基本流程

    django基本流程

    urls基本讲解和view视图

    1. 新建project,名为mysite
      django-admin startproject mysite
      生成如下的目录样式,我们会发现执行命令后,新建了一个 mysite 目录,其中还有一个 mysite 目录,这个子目录 mysite 中是一些项目的设置 settings.py 文件,总的urls配置文件 urls.py 以及部署服务器时用到的 wsgi.py 文件, init.py 是python包的目录结构必须的,与调用有关。
    mysite
    ├── manage.py
    └── mysite
        ├── __init__.py
        ├── settings.py
        ├── urls.py
        └── wsgi.py
    
    1. 新建app,名为learn
      python manage.py startapp learn
      可以看到mysite中多个一个 learn 文件夹,其中有以下文件。
    learn/
    ├── __init__.py
    ├── admin.py
    ├── models.py
    ├── tests.py
    └── views.py
    
    1. 把新定义的app加到settings.py中的INSTALL_APPS中
      修改 mysite/mysite/settings.py
    INSTALLED_APPS = (
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
     
        'learn',
    )
    

    备注:新建的 app 如果不加到 INSTALL_APPS 中的话, django 就不能自动找到app中的模板文件(app-name/templates/下的文件)和静态文件(app-name/static/中的文件) , 后面你会学习到它们分别用来干什么.

    1. 定义视图函数 views.py
      修改learn目录下的views.py
    # coding:utf-8
    from django.http import HttpResponse
     
     
    def index(request):
        return HttpResponse(u"欢迎光临")
    
    1. 定义视图函数相关的URL
      修改mysite/mysite/urls.py 这个文件
    from django.conf.urls import url
    from django.contrib import admin
    from learn import views as learn_views  # new
     
     
    urlpatterns = [
        url(r'^$', learn_views.index),  # new
        url(r'^admin/', admin.site.urls),
    ]
    
    1. 在终端上运行 python manage.py runserver
    $ python manage.py runserver
    Performing system checks...
     
    System check identified no issues (0 silenced).
     
    You have 14 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
    Run 'python manage.py migrate' to apply them.
     
    December 14, 2017 - 15:09:47
    Django version 2.0, using settings 'mysite2.settings'
    Starting development server at http://127.0.0.1:8000/
    Quit the server with CONTROL-C.
    
    1. 打开浏览器,访问 http://127.0.0.1:8000/

    相关文章

      网友评论

          本文标题:2018-12-17

          本文链接:https://www.haomeiwen.com/subject/keqhkqtx.html