Django配置和初探

时间:2023-03-08 16:36:39
Django配置和初探

Django是python下的一款网络服务器框架.
1.安装 windos:    pip install django
     linux:    sudo pip install django
2.启动
1.创建项目

进入目标路径后,执行

python E:\Python3.5\Scripts\django-admin.py startproject mysite (写出全路径来,不然可能不工作)

例如:E:\python3.5\demo>python E:\Python3.5\Scripts\django-admin.py startproject mysite

在当前目录下会形成mysite文件夹.其文件树结构如下;(cmd下tree/f)

mysite
├── manage.py
└── mysite
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py (部署服务器时所用)
2.进入mysite 启动服务器
python manage.py runserver 8000
打开浏览器访问http;//127.0.0.1:8000 可以看到服务器正在运行

虽然有一个能跑的服务器,但什么内容都没有
3.第一个网页

网络服务器是“请求-回应”的工作模式。客户向URL发送请求,服务器根据请求,开动后厨,并最终为客人上菜。
django采用mvc结构.即点单,厨房,储藏室分离.
1.新建一个应用(app)名称叫learn
在最外层mysite 键入python manage.py startapp learn
2.把新定义的app加到settings.py中的INSTALL_APPS中:修改setting.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',

'learn',
]
3.定义视图函数(访问页面时的内容)
HttpResponse是用来向网页返回内容的,就像print一样,只不过是把内容显示到网页上
first_page函数的第一个参数必须是request,与网页发来的请求有关,request里面含有get或post的内容,用户浏览器,系统等信息在里面
#-*-conding:utf-8 -*-
from django.http import HttpResponse

def first_page(request):
return HttpResponse(u"好瞌睡")
4.分配url请求:修改url.py
这一步处理的很艰难,Django 1.8.x及以上:

from django.conf.urls import url
from django.contrib import admin
from learn import views as learn_views
admin.autodiscover()
urlpatterns = patterns[
url(r'^admin/', admin.site.urls),
url(r'^$', 'learn_views.first_page'),
]
添加了最后一行,将根目录的url分配给一个对象进行处理,这个对象是learn_views.first_page

3.在终端上运行python manage.py runserver

_1.localhost与127.0.0.1的区别
localhost也叫local,正确解释是本地服务器
127.0.0.1正确解释是本机地址
localhost不经网卡传输,不受相关防火墙和网卡的限制,127.0.0.1通过网卡传输,受网络防火墙和网卡相关的限制
本机ip和127.0.0.1的区别是127.0.0.1只能通过本机访问,本机ip既可通过本机访问,也能通过外网访问
_2.mvc
MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:
Model(模型)表示应用程序核心(比如数据库记录列表)。
View(视图)显示数据(数据库记录)。
Controller(控制器)处理输入(写入数据库记录)。
_3.
/ 就是访问的时候是 /u/ 这样的网址,最后那个 /。
$是正则表达式的 锚定符,代表结尾,
^代表开头,^u/$的意思就是 严格匹配 u/ 的意思,前面的那个 / 是自动加的
_4.
其实里面的 -*- 只是为了好看,最简单,直接写个#coding:utf-8 或 #coding=utf-8
当然 utf-8 也可以写成 utf8 (不要短线),甚至写成 u8