大家好,我是天空之城,今天给大家带来,通过python利用Django框架搭建一个属于自己的免费网站。
以下是网上找到的免费教程,https://djangogirlstaipei.gitbooks.io/django-girls-taipei-tutorial/content/。
大家先自己研究下,我虽然已经搭建成功了网站,但是比较丑陋,水平有限,还要继续学习。稍后会给出一个简单的讲解博客。
这是我已经搭建成功的网站。http://tiankongzhicheng.pythonanywhere.com/
是一个关于python基础知识的网站。
前期工作
先安装Django模块,在c盘根目录创建一个文件夹,进入dos命令窗口,输入mkdir Djangogirls,再进入cd Djangogirls,在实际工作中,为了保证运行环境的一致性,会先创建一个虚拟环境,python -m venv djangogirls_venv
启动虚拟环境,djangogirls_venv\scripts\activate
安装Django 1.8.6版本(有点老,不管了。。)
pip install django==1.8.6
安装完以后再python根目录下的scripts目录中,找到Django-admin.exe文件,进入系统环境变量配置,添加到path环境变量中
创建mysite项目
django-admin startproject mysite
然后进入cd mysite
运行python manage.py runserver
显示网页在本地服务器127.0.0.1:8000(默认配置)配置成功,用浏览器打开上述网址,显示it worked表面网页创建成功
项目结构
mysite/
├── manage.py
└── mysite
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
下面开始建立app,就是实现一个功能的app,建立叫 trips的app
python manage.py startapp trips
将新增的app放入设定档
打开 mysite/settings.py,找到 INSTALLED_APPS,调整如下:
最后一行加入'trips',
项目结构
mysite
├── manage.py
├── mysite
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── trips
├── __init__.py
├── admin.py
├── migrations
├── models.py
├── tests.py
└── views.py
整个项目包括以下几个部分组成
projects and apps(建立项目和app)
views and urlconfs(视图函数和url路由配置)
template(html文件,网页模板,设置变量)
models(数据结构,包括几个字段,如title,content,photo,location,created-at时间)
admin(后台控制台)
Django orm(数据库操作)
template tags(template filters数据过滤)
dynamic url(分页的网页配置)
deploy(配置)
whatis next
开始介绍
1.Django采用了MVC的软件设计模式,即模型M,视图V和控制器C。他的实现原理就是MTV架构,
(1)浏览器送出HTTP requests向服务器发出请求
(2)Django依据url configuration 分配至对应的view
(3)view进行数据库的操作或其他运算,并且回传http response响应
(4)浏览器依据http response显示网页画面
第一张图
第二张图
以上就是整个浏览器到服务器之间的运行原理
**而Django view其实是一个函数function,处理HTTP requests请求,并回传http response响应**
[HttpResponse] 里面包含:
`HttpResponse.content`
`HttpResponse.status_code` …等
首先建立第一个view
在trips/views.py输入以下代码
# trips/views.py
from django.http import HttpResponse
def hello_world(request):
return HttpResponse("Hello World!")
这些代码表示打开网页,显示Hello World!
Django 需要知道 **URL 与 view 的对应关系**。
例如:
有人浏览 [http://127.0.0.1:8000/hello/]時 ,`hello_world()` 這個 view function 需要被执行。
而这个对应关系就是 **URL conf** (URL configuration)。
现在我们来设定 Hello World 范例的 URL conf。
打开mysite/urls.py输入
from trips.views import hello_world
然后在 urlpatterns 中加入下面這行:
url(r'^hello/$', hello_world),
这里实际上就是定义了[http://127.0.0.1:8000/hello/]这个网址和Hello World 网页联系起来了
输入上述网址,就可以看到Hello World 了哦