zoukankan      html  css  js  c++  java
  • django初体验 学习笔记

    django环境搭建
        1.安装Python
        2.ipython
            sudo apt-get install ipython
            sudo pip install ipython
        3.安装pip
            sudo apt-get install python-pip
        4.安装django
            pip安装:
                sudo pip install django
            源码安装:
                1. git clone https://github.com/django/django.git
                2.sudo python setup.py install
        5.第一个django项目
            django-admin startproject mysite
     
    在当前目录执行如下命令:
        $ django-admin startproject mysite
    会在当前目录下多出一个目录——mysite
    进入mysite目录,
    该目录下有一个文件manage.py和一个目录mysite。
    在当前目录下执行如下命令开启一个网站:
        $ python manage.py runserver
    会出现一些信息,其中会提示网站已经在 http:127.0.0.1:8000/ 处开启了。
     
    Django创建工程及应用
    1.工程目录详解
    新建的django项目mysite的目录结构:
    .
    ├── manage.py 管理项目:包括数据库建立、服务器运行、测试……
    └── mysite
        ├── settings.py 配置文件:应用、中间件、数据库、静态目录各类配置……
        ├── urls.py URL映射配置文件:决定一个url访问被那个程序(函数)响应
        └── wsgi.py Python应用程序或框架和Web服务器之间接口
     
    使用命令 python manage.py 后面不加参数可以后的帮助信息。
    使用命令 python manage.py runserver 启动服务器。
    启动服务器命令后面可以带参数host:port指定不同的端口,如:
        $ python manage.py runserver 0.0.0.0:8080
        则服务器会建立在 http:0.0.0.0:8080
    使用 python manage.py shell 进入django的命令行界面(ipython提供)
    在shell几面可以进行很多操作,比如访问数据库里的某些数据:
        In [1]: Blog.objects.all()
    进行 $ python manage.py 后面最长跟的参数:
        runserver
        makemigrations
        migrate
        shell
    进行 $ python manage.py runserver 之后mysite的目录结构:
    .
    ├── db.sqlite3 多出的是一个数据库文件
    ├── manage.py
    └── mysite
        ├── __init__.py
        ├── __init__.pyc
        ├── settings.py 是整个网站的配置文件
        ├── settings.pyc
        ├── urls.py
        ├── urls.pyc
        ├── wsgi.py
        └── wsgi.pyc
     
    settings.py中的一些信息:
    ALLOWED_HOSTS = [] 允许放的的host列表
    INSTALLED_APPS = ( '...', ',,,', ... ) 已经安装的app
    MIDDLEWARE_CLASSES = ( '...', ',,,', ... ) 已经选择的django的中间件
    ROOT_URLCONF = 'mysite.urls' 是urlconf的一个根目录
    TEMPLATES = [] 选择的模板引擎
    DATABASES = {    数据库
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        }
    }
    ……
     
    urls.py中的一些信息:
    urlpatterns = [    这张表中有关于映射的基本信息
        url(r'^admin/', include(admin.site.urls)).
    ]
     
    2.创建应用
    django中只用应用来分割功能:
        如一个游戏网站 包含 游戏新闻,游戏论坛,Blog系统,在线商城
        功能可以拆成四块(每块是一个应用),结构清晰,便于复用
    2.1 创建应用blog
        $ python manage.py startapp blog
    2.2 添加blog应用
        mysite/settings.py --> INSTALLED_APPS
     
    在项目mysite目录下使用 $ python manage.py startapp blog 来创建一个名为blog的app。
    创建好了blog之后在当前目录中会多出一个名为blog的目录。
    blog的目录结构:
    blog/
    ├── admin.py
    ├── apps.py
    ├── __init__.py
    ├── migrations
    │   └── __init__.py
    ├── models.py
    ├── tests.py
    └── views.py
    创建好了blog这个app之后需要,还需要将这个app添加到项目mysite里面去,添加进去以后django会帮我们对项目进行管理,比如数据库更新之类的。
    编辑当前目录下的mysite/settings.py来添加应用,
    在settings.py中找到"INSTALLED_APPS这一项",在末尾添加应用:
    INSTALLED_APPS = (
        '...'.
        '...',
        'blog',     这是我们添加的自己的blog应用   
    )
     
    views.py文件:
    from django.shortcuts import render
    from django.http import HttpResponse
     
    #Create your views here
     
    def hello(request):
        return HttpResponse('<html>hello world</html>')
    mysite/urls.py文件:
    在utlpatterns添加hello:
    urlpatterns = [
        url(r'^admin/', include(admin.site.urls)),
        url(r'helloworld', 'blog.views.hello') 新加的内容
    ]
    然后启动服务器:
    $ python manage.py runserver
    启动之后进入http://127.0.0.1:8000就可以看到hello world的页面了。
     
    3.应用目录详解
    views.py 响应客户请求返回html页面
    models.py 定义数据库中的表
    admin.py admin相关
    test.py 测试相关
     
    Django初体验:Django中的重要概念
    一次Web访问的实质:
        1.客户发送http请求到Web服务器
        2.Web服务器返回html页面给客户
    1.URL配置
    建立URL和响应函数之间的关系
     
    2.视图Views
    响应客户http请求,进行逻辑处理,返回给用户html页面
     
    3.
    模型Models
    描述我们服务器存储的数据(数据库的表)
     
    4.模板templates
    用来生产html页面。返回给用户的html,是由数据(模型)和模板渲染出来的。
     
  • 相关阅读:
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    你会卖掉自己的网上信息吗?大数据可能根本不属于你
    机器学习——TensorFLow实战房价预测
    数据库运作实践三三之歌(秘制口诀)
    1000行MySQL学习笔记,收藏版!
    吐血整理深度学习入门路线及导航【教学视频+大神博客+书籍整理】+【资源页】(2019年已经最后一个月了,你还不学深度学习吗???)
    Ubuntu Snap 简述
    参数传递
  • 原文地址:https://www.cnblogs.com/moonlightpoet/p/5677385.html
Copyright © 2011-2022 走看看