您的位置:首页 > 编程语言 > Go语言

Django项目的创建及基本使用

2017-01-06 13:29 489 查看
辛苦堆砌,转载请注明出处,谢谢!

        Django是Python进行Web开发的框架,目前应用比较广泛。使用Python进行Web开发,能够很快的搭建所需的项目,可以运用于原型开发,也可以部署到实际的应用环境。

        使用Django开发,首先要安装Django模块,安装过Python的系统,启动命令行,执行

pip install django


即可完成Django的安装。

        安装好Django,就可以开始我们的开发了,本文创建一个展示Hello xxx的Web页面,xxx由GET参数指定。Django可以很快的完成项目的开发。

        首先,创建项目,在希望创建项目的目录执行

django-admin.py startproject hello
我们创建了项目名为hello的项目,此时hello目录结构如下:

.

├── hello
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── manage.py

我们执行

python manage.py runserver
此时,浏览器访问http://localhost:8000/,应该可以看到我们的服务器已经启动了。显示了一个Welcome to Django的页面。

        Django提倡基于应用作为单位进行开发,我们创建自己的应用,使用命令

python manage.py startapp say_hello
这样,就创建了say_hello应用,当前目录结构为:

.
├── hello
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── manage.py
└── say_hello
    ├── admin.py
    ├── apps.py
    ├── __init__.py
    ├── migrations
    │   └── __init__.py
    ├── models.py
    ├── tests.py
    └── views.py
可以看到,多出了一个say_hello目录。下面开始我们的开发,首先在say_hello目录下,新建一个templates目录,其中创建say_hello.html页面。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello</title>
</head>
<body>
<h1>Hello {{hello_words}}</h1>
</body>
</html>
页面很简单,我们使用了Django提供的模板,取hello_words参数渲染视图,后面会看到如何赋值这个参数。

        现在有了页面,我们需要做我们的控制器,在say_hello目录下的views.py中添加函数

from django.shortcuts import render

def hello_page(request):
return render(
request,
'say_hello.html',
{'hello_words': request.GET.get('hello_words', "")}
)
使用了render函数,该函数会返回一个response对象,该对象中有经过渲染的html,我们这里基于say_hello.html模板进行渲染,渲染的参数由字典表示,参数名为hello_words,内容是GET请求的hello_words的参数值,如果没有参数值,则hello_words的值为""。

        完成了控制器,设置一下url映射,打开hello目录下的urls.py,添加映射

from django.conf.urls import url
from django.contrib import admin

from say_hello import views

urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^$', views.hello_page, name='hello_page'),
]
使用正则表达式^$,将发送到根路径下的请求转交给home_page处理,就是上面实现的控制器,这里Django使用视图来表示控制器,实际上Django也是MVC架构,只是M对应的是实体类,V对应的是模板,也就是html文件,控制器对应了views.py的定义。

        现在运行程序,还是无法运行的,会报错找不到say_hello.html,这是因为我们还需要注册一下我们的应用,打开settings.py文件,在INSTALLED_APPS列表中添加一项"say_hello",如下

# Application definition

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'say_hello',
]
现在运行服务器,浏览器输入localhost:8000可以看到Hello,如果是使用http://localhost:8000/?hello_words=World,则可以看到Hello World.

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: