Django项目的创建及基本使用

来源:互联网 发布:易语言餐饮系统源码 编辑:程序博客网 时间:2024/06/09 15:24

辛苦堆砌,转载请注明出处,谢谢!

        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 renderdef 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 urlfrom django.contrib import adminfrom say_hello import viewsurlpatterns = [    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 definitionINSTALLED_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.




0 0
原创粉丝点击