Django的简单应用示例

描述

Django是python的Web应用框架,并于2008年发布了第一个版本,下面我们先来学习Django的简单应用示例。

一、 安装Django

  1. 在Home目录下,新建pdemo目录,并在该目录下安装Django框架

root@ubuntu:/home# mkdir pdemo

root@ubuntu:/home/pdemo# apt-get install python-django -y

python

2.验证Django框架安装是否成功

root@ubuntu:/home/pdemo# python

Python 2.7.12 (default, Nov 20 2017, 18:23:56)

[GCC 5.4.0 20160609] on linux2

Type "help", "copyright", "credits" or "license" for more information.

import django

django.get_version()

'1.8.7'

** exit()**

3.安装可能遇到的问题:

E: Unable to locate package sqllite3 stack

解决方法:

apt-get update && apt-get upgrade

apt-get install sqlite3

二、创建项目

1.新建Django项目pdemo1,并查看所建的文件清单

root@ubuntu:/home/pdemo# django-admin startproject pdemo1

root@ubuntu:/home/pdemo# tree

└── pdemo1 --项目

├── manage.py *--命令行工具*

└── pdemo1

    ├── __init__.py
  • --该文件为空,代表pdemo1是一个python包*
    
      ├── settings.py
    
  • --配置文件*
    
      ├── urls.py
    
         *--前台请求到后台处理逻辑的映射*
    
      └── wsgi.py
    
         -*-Web服务器入口*
    

2 directories, 5 files

三、启动服务器

1.启动服务器

root@ubuntu:/home/pdemo/pdemo1#python manage.py runserver 0.0.0.0:8000

Performing system checks...

System check identified no issues (0 silenced).

You have unapplied migrations; your app may not work properly until they are applied.

Run 'python manage.py migrate' to apply them.

October 01, 2018 - 00:32:32

Django version 1.8.7, using settings 'pdemo1.settings'

Starting development server at http://0.0.0.0:8000/

Quit the server with CONTROL-C.

2.打开浏览器,输入127.0.0.1:8000,如呈现如下信息,则启动成功:

3.查看文件清单信息:

root@ubuntu:/home/pdemo/pdemo1# tree .

├── db.sqlite3

├── manage.py

└── pdemo1

├── __init__.py

├── __init__.pyc

├── settings.py

├── settings.pyc

├── urls.py

├── urls.pyc

├── wsgi.py

└── wsgi.pyc

1 directory, 10 files

四、创建应用

1.新建templates目录,并在该目录下创建hello.html

root@ubuntu:/home/pdemo/pdemo1/pdemo1#** mkdir templates**

root@ubuntu:/home/pdemo/pdemo1/pdemo1# vi hello.html

<form action="/hello-post" method="post">

    {% csrf_token %}

    <input type="text" name="who">

    <input type="submit" value="Submit">

form>



<p>{{ wname }}p>

注:

l {% csrf_token %}:csrf(Cross Site Request Forgery),为Django提供的防伪装提交请求的功能。

l {{ wname }}为页面显示的变量,该变量值对应后台传过来的数据。

2.打开setting.py,修改DIRS的值。

root@ubuntu:/home/pdemo/pdemo1/pdemo1# **vi ** setting .py

TEMPLATES = [

{'DIRS': [BASE_DIR+"/pdemo1"+"/templates",], --修改该值

3.增加后台处理逻辑,新建Hello.py文件

root@ubuntu:/home/pdemo/pdemo1/pdemo1# **vi ** hello .py

from django.shortcuts import render

from django.views.decorators import csrf

def hello_post(request):

ctx ={}

if request.POST:

    ctx['wname'] = request.POST['who']

return render(request, "hello.html", ctx)

4.增加前台请求和后台处理逻辑映射,修改url.py文件

root@ubuntu:/home/pdemo/pdemo1/pdemo1# vi urls.py

增加:

from pdemo1 import hello

url(r'^hello-post$', hello.hello_post),

5.打开浏览器,输入127.0.0.1:8000/hello-post

python

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分