1.安装django
pip install Django
2.检查django是否成功安装
image.png
3.创建第一个项目名叫myblog
django-admin.py startproject myblog
[root@MyServer ~]# cd myblog/
[root@MyServer myblog]# tree
.
├── manage.py
└── myblog
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py
4.启动服务
[root@MyServer myblog]#  python manage.py runserver 127.0.0.1:80
Performing system checks...
System check identified no issues (0 silenced).
You have 13 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
March 03, 2018 - 04:02:04
Django version 1.11.10, using settings 'myblog.settings'
Starting development server at http://127.0.0.1:80/
Quit the server with CONTROL-C.
使用浏览器打开http://127.0.0.1:80/,正确结果应如下
image.png
5.新增一个视图
在myblog/myblog下新增一个view.py 文件,内容如下
from django.http import HttpResponse
def hello(request):
    return HttpResponse("Hello world ! ")
修改urls.py文件
内容如下
from django.conf.urls import url
from django.contrib import admin
import view
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^$', view.hello),
]
打开127.0.0.1:80,显示
image.png
此时你的文件目录应该如下:
[root@MyServer myblog]# tree
.
├── db.sqlite3
├── manage.py
└── myblog
    ├── __init__.py
    ├── __init__.pyc
    ├── settings.py
    ├── settings.pyc
    ├── urls.py
    ├── urls.pyc
    ├── view.py
    ├── view.pyc
    ├── wsgi.py
    └── wsgi.pyc
6.新增一个html模板
django通过视图传输变量给模板,在模板中展示网页数据内容。模板可以复用,可以循环,可以执行判断等,我们来新建一个简单的模板文件
在myblog/myblog下新增一个templates文件夹,以后我们所有的html模板文件都放在这个文件夹底下,在templates 下新增一个hello.html的模板文件
<h1>{{ v1 }}</h1>
为了让django知道我们的模板文件存在位置,我们需要在settings.py这个配置文件中添加路径,修改 TEMPLATES 中的 DIRS 为 [BASE_DIR+"/templates",]
修改urls.py文件,通过访问127.0.0.1:80/hello 来到达view.hello这个视图
from django.conf.urls import url
from django.contrib import admin
import view
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'hello', view.hello),
]
修改view.py文件,让view.hello这个函数调用hello.html模板来展示
from django.shortcuts import render
#from django.http import HttpResponse
def hello(request):
    context = {}
    context['v1'] = "Hello world!"
    return render(request,'hello.html',context)
可以看到我们通过render将视图和模板联系在一起,更具体地,我们通过一个字典来传递视图中的变量给模板。v1这个变量在模板中通过两个花括号来调用{{ v1 }}。后续我们会经常用到这种方法。
模板中还可以进行很多的逻辑行为,这里不再展开,大家可以参考这个文档:https://www.w3cschool.cn/django/django-template.html
结果如下,带有格式的hello world:
image.png













网友评论