Django初试

创建Django项目

首先创建一个Django项目,可是使用命令创建,也可以利用pyCharm创建

创建Django项目的命令

django-admin startproject 项目名

例如  django-admin startproject mysite   
执行完后就在当前目录下创建了一个名为 mysite 的项目

创建一个应用

一般由于一个项目有多个功能,所以将每一个功能都分成一个应用(也就是一个目录),每个功能都有对应的目录,互不干扰。应用同样可以利用命令创建,也可以利用pyCharm创建

创建应用的命令

进入项目的目录中,输入下列命令,就常见好了一个应用
python manage.py startapp 应用名
例如: 
    python manage.py startapp blog   就创建了一个名为 blog 的应用

在urls.py中添加URL路由

from django.contrib import admin
from django.urls import path
from blog import views       # 导入blog项目下的views.py文件,为URL绑定视图函数

urlpatterns = [
    path('admin/', admin.site.urls),
    path('show_time', views.show_time),   # 要添加的URL
]

在views.py中添加对应的视图函数

from django.shortcuts import render, HttpResponse

# Create your views here.


def show_time(req):
    # 将该对象返回给apache或nignx,apache将该对象封装到http里面返回给浏览器
    return HttpResponse('hello')  # 返回给前端的实例对象

当然,除了给浏览器返回一个HttpResponse对象以外,还可以给浏览器返回一个页面,这个页面写在django项目的templates目录下,比如写一个index.html页面,然后在views.py的视图函数中用render()方法将这个也米娜返回给浏览器即可

def index(request):
    return render(request, "index.html")   # 思考:为什么render()方法能找到templates下的index.html文件

在上面的视图函数中,render()方法直接引用了 index.html,按理说,views.py在blog应用的目录下,而ndex.html在与blog目录同级的templates目录下,这两个文件八竿子打不着,render()方法是怎样在views.oy中找到index.html的呢?

其实这一切都能归功于setttings.py文件,在settings.py文件中有一个叫做 TEMPLATES 的列表,里面第一个字典里面有一组键值对,键名为:'DIRS',它所对应的值就是templates的路径,因此,很容易想到,这个templates目录不一定非得命名为templates,也可以是其他的名字,只要在 settings.py中把它的路径配置清楚就可以了

启动Django项目

启动django项目同样也可以通过命令和pyCharm启动

启动项目的命令

python manage.py runserver ip地址 端口

例如:python manage.py runserver 8080

启动后在浏览器输入  127.0.0.1:8080/show_time 就可以看到项目返回的结果了

 

posted @ 2018-07-01 15:42  Jin同学  阅读(138)  评论(0)    收藏  举报