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,是由数据(模型)和模板渲染出来的。
 

django初体验 学习笔记的更多相关文章

  1. Django RF:学习笔记(8)——快速开始

    Django RF:学习笔记(8)——快速开始 安装配置 1.使用Pip安装Django REST Framework: pip install djangorestframework 2.在Sett ...

  2. Django初体验——搭建简易blog

    前几天在网上看到了篇采用Django搭建简易博客的视频,好奇心驱使也就点进去学了下,毕竟自己对于Django是无比敬畏的,并不是很了解,来次初体验. 本文的操作环境:ubuntu.python2.7. ...

  3. 完整的Django入门指南学习笔记5

    前言 欢迎来到本系列教程的第5部分,在这节课,我们将学习如何保护视图防止未登录的用户访问,以及在视图和表单中访问已经登录的用户,我们还将实现主题列表和回复列表视图,最后,将探索Django ORM的一 ...

  4. 完整的Django入门指南学习笔记1

    转自[https://blog.csdn.net/qq_35554125/article/details/79462885] part 1: 前沿 教程材料一共会被分为七个部分. 此教程将从安装.开发 ...

  5. Django初体验(一):自定义表单提交

    注:本人使用的Django1.8.3版本进行测试 除了使用Django内置表单,有时往往我们需要自定义表单.对于自定义表单Post方式提交往往会带来由CSRF(跨站请求伪造)产生的错误"CS ...

  6. 完整的Django入门指南学习笔记7 网页自动翻译

    转自[https://simpleisbetterthancomplex.com/series/2017/10/16/a-complete-beginners-guide-to-django-part ...

  7. 完整的Django入门指南学习笔记6

    前言 欢迎来到系列教程的第六部分!在这篇教程中,我们将详细探讨基于类的视图(简称CBV).我们也将重构一些现有的视图,以便利用内置的基于类的通用视图(Generic Class-Based Views ...

  8. Django Web开发学习笔记(5)

    第五部分 Model 层 创建一个app工程.app和project的区别引用DjangoBook的说法是: 一个project包含很多个Django app以及对它们的配置. 技术上,project ...

  9. 完整的Django入门指南学习笔记3

    前言 在本节课中,我们将深入理解两个基本概念: URLs 和 Forms.在这个过程中,我们还将学习其它很多概念,如创建可重用模板和安装第三方库.同时我们还将编写大量单元测试. 如果你是从这个系列教程 ...

随机推荐

  1. 【转】【CentOS】【Python】Centos7安装Python3的方法

    由于centos7原本就安装了Python2,而且这个Python2不能被删除,因为有很多系统命令,比如yum都要用到. [root@VM_105_217_centos Python-3.6.2]# ...

  2. TPshop标签

    很多cms 中有很多 标签, 商品标签 文章标签  列表标签  几十个标签, 让开发者头疼, 难记,  TPshop开发者考虑到这点, 用了一个万能标签, 开发者非常方便实用 TPshop万能标签只要 ...

  3. php后台管理员权限相关表结构

    admin管理员表 id int(11) 用户id username varchar(128) 用户名 password varchar(128) 管理员密码 name varchar(50) 管理员 ...

  4. Enigma Virtual Box:生成可执行文件。

    Enigma Virtual Box Enigma Virtual Box[1]  是软件虚拟化工具,它可以将多个文件封装到应用程序主文件,从而制作成为单执行文件的绿色软件.它支持所有类型的文件格式, ...

  5. winform中文本框,软键盘跟随

    private void textBox1_Click(object sender, EventArgs e) { //Control.MousePosition Point p = System.W ...

  6. mysql的字符串函数

    From: http://www.cnblogs.com/xiaochaohuashengmi/archive/2010/12/13/1904330.html 对于针对字符串位置的操作,第一个位置被标 ...

  7. redis集群【转】

    一.环境 系统    CentOS7.0 64位最小化安装 redis1    172.16.1.46    6379,6380 redis2    172.16.1.47    6379,6380 ...

  8. OCA,OCP,OCM傻傻分不清?

    可能大家知道OCA.OCP.OCM的关系是一个比一个难考,一个比一个含金量高,但是你知道具体的考试科目.考试方式.就业形势区别吗?不知道的话这篇通俗易懂的文章会让你一目了然. 区别一:含金量 ■OCA ...

  9. HttpURLConnection和HttpClient的区别2(转)

    1.HttpClient比HttpURLConnection功能更强大,但是做java建议用前者,安卓建议用后者 2.这两者都支持HTTPS,streaming 上传与下载,配置超时时间,IPv6,  ...

  10. IP冲突解决方案

    客人在我所供职的酒店上网的时候,经常会弹出一个对话框,显示一些提示,如上网的注意事项和消费标准等信息;并且有自己的电影和歌曲服务器,DHCP-server也是其中的一台服务器,宾馆.酒店就是用这台机器 ...