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. 【Html】网页获取屏幕宽高

    <html> <script> function size(){ document.write( "屏幕分辨率为:"+screen.width+" ...

  2. Linux操作_常用命令操作练习

    1,新键一个用户,该用户名为自己姓名首字母缩写+学号最后2位组成(如王东,学号最后2位为18,则该用户名为wd18),为该用户设置密码,并将其加到users组:将该用户的相关信息更改(要求:Name为 ...

  3. 计蒜客2018 蓝桥杯省赛 B 组模拟赛(一)

    1,结果填空:年龄 今天蒜头君带着花椰妹和朋友们一起聚会,当朋友们问起年龄的时候,蒜头君打了一个哑谜(毕竟年龄是女孩子的隐私)说:“我的年龄是花椰妹年龄个位数和十位数之和的二倍”. 花椰妹看大家一脸懵 ...

  4. 第三百五十一节,Python分布式爬虫打造搜索引擎Scrapy精讲—将selenium操作谷歌浏览器集成到scrapy中

    第三百五十一节,Python分布式爬虫打造搜索引擎Scrapy精讲—将selenium操作谷歌浏览器集成到scrapy中 1.爬虫文件 dispatcher.connect()信号分发器,第一个参数信 ...

  5. Numpy存字符串

    # -*- coding: utf-8 -*- import numpy as np student = np.dtype({'names':['name', 'age', 'weight'], 'f ...

  6. 无向带权图的最小生成树算法——Prim及Kruskal算法思路

    边赋以权值的图称为网或带权图,带权图的生成树也是带权的,生成树T各边的权值总和称为该树的权. 最小生成树(MST):权值最小的生成树. 生成树和最小生成树的应用:要连通n个城市需要n-1条边线路.可以 ...

  7. vue项目中使用md5.js及base64.js

    一.在项目根目录下安装 npm install --save js-base64 npm install --save js-md5 二.在项目文件中引入 import md5 from 'js-md ...

  8. sqlserver修改主机名

    sqlserver迁移后,主机和原机器不符,将系统修改主机名后,数据库代理服务.邮件服务无法启动 执行下面语句,检查sqlserver中windows主机名 -- 检查SQL Server中的&quo ...

  9. 【WP8】关于类库本地化问题

    WPToolkit中的ToggleSwitch开关控件是比较常用的控件,之前在做的的时候遇到一个问题,默认语言改为中文,手机系统语言也为中文,但是开关状态无法应用本地化的语言库,开关状态总是显示On/ ...

  10. 什么时候layoutSubview会被调用

    文档描述不够详细,有人测试结果如下: init does not cause layoutSubviews to be called (duh) addSubview causes layoutSub ...