`

我的第一个Python Web应用

阅读更多

 

本文实现的是通信录的Web应用,在Windows xp环境下开发。

 

1.从官方网站下载Python安装文件,安装后配置环境变量(系统变量path)。

         C:\Program Files\Python25;

         C:\Program Files\Python25\Scripts;

 

2.下载Django,解压。打开命令行,进入刚解压的目录,执行python setup.py install,然后把Django中bin目录的路径添加到环境变量path里面。

 

3.现在打开命令提示符,进入到想要创建应用的目录后键入django-admin.py startproject mysite命令,调用Django的控制台命令新建一个名为mysite的工程,与此同时Django还在新创建的mysite文件夹下生成以下四个分工不同的文件: __init__.py    manage.py    settings.py    urls.py

 

4.在命令提示符下进入工程目录,键入命令manage.py runserver,就可以启动Web服务器来测试新建立的工程。浏览器中输入http://127.0.0.1:8000/ 查看效果(Ctrl+C可停止服务器)。

 

5.在工程建立好之后,接下来就可以编写Django的应用模块。键入命令python manage.py startapp contacts ,命令会在当前工程下生成一个名为article的模块,目录下除了标识Python模块的__init__.py文件,还有额外的两个文件models.py和views.py。

 

6.在传统的Web的开发中,很大的一部分工作量被消耗在数据库中创建需要的数据表和设置表字段上,而Django为此提供了轻量级的解决方案。借助Django内部的对象关系映射机制,可以用Python语言实现对数据库表中的实体进行操作,实体模型的描述需要在文件models.py中配置。

from django.db import models
from django.contrib import admin

class Area(models.Model):
    areaname = models.CharField(max_length=20)
    def __str__(self):
        return self.areaname.encode('utf-8')
    class Meta:
        ordering = ['areaname']
    class Admin:
        pass

class Dept(models.Model):
    deptname = models.CharField(max_length=20)
    def __str__(self):
        return self.deptname.encode('utf-8')
    class Meta:
        ordering = ['deptname']
    class Admin:
        pass

class Employee(models.Model):
    employee_area = models.ForeignKey(Area)
    employee_dept = models.ForeignKey(Dept)
    name = models.CharField(max_length=20)
    english_name = models.CharField(max_length=40)
    tel = models.CharField(max_length=20)
    cell_phone = models.CharField(max_length=20)
    email = models.CharField(max_length=40)
    def __str__(self):
        return self.name.encode('utf-8')
    class Meta:
        ordering = ['employee_area', 'employee_dept', 'name']
    class Admin:
        pass
        
admin.site.register([Area,Dept,Employee])

 

return self.name.encode('utf-8')  #开始我写的return self.name,结果不能插入中文

 

from django.contrib import admin #我没有导入这个,虽然能进入Django管理,但数据库表的管理却没有

 

7.修改setting.py

# Django settings for firstproject project.

import os

DEBUG = True
TEMPLATE_DEBUG = DEBUG

SITE_PATH = os.path.dirname(os.path.abspath(__file__)) #System Path

ADMINS = (
    # ('Your Name', 'your_email@domain.com'),
)

MANAGERS = ADMINS

DATABASES = {
    'default': {
        'ENGINE': 'sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'F:/firstproject/contacts.db',                      # Or path to database file if using sqlite3.
        'USER': '',                      # Not used with sqlite3.
        'PASSWORD': '',                  # Not used with sqlite3.
        'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
    }
}

# Local time zone for this installation. Choices can be found here:
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
# although not all choices may be available on all operating systems.
# On Unix systems, a value of None will cause Django to use the same
# timezone as the operating system.
# If running in a Windows environment this must be set to the same as your
# system time zone.
TIME_ZONE = 'America/Chicago'

# Language code for this installation. All choices can be found here:
# http://www.i18nguy.com/unicode/language-identifiers.html
LANGUAGE_CODE = 'zh-CN'

SITE_ID = 1

# If you set this to False, Django will make some optimizations so as not
# to load the internationalization machinery.
USE_I18N = True

# If you set this to False, Django will not format dates, numbers and
# calendars according to the current locale
USE_L10N = True

# Absolute filesystem path to the directory that will hold user-uploaded files.
# Example: "/home/media/media.lawrence.com/"
MEDIA_ROOT = ''

# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash if there is a path component (optional in other cases).
# Examples: "http://media.lawrence.com", "http://example.com/media/"
MEDIA_URL = ''

# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
# trailing slash.
# Examples: "http://foo.com/media/", "/media/".
ADMIN_MEDIA_PREFIX = '/media/'

# Make this unique, and don't share it with anybody.
SECRET_KEY = '95*^$#d8s3z79x@6l$10)g=#_6*u7(j4bsx+m7djf$!+qw+8w0'

# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.Loader',
    'django.template.loaders.app_directories.Loader',
#     'django.template.loaders.eggs.Loader',
)

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
)

ROOT_URLCONF = 'firstproject.urls'

TEMPLATE_DIRS = (
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
)

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    # Uncomment the next line to enable the admin:
    'django.contrib.admin',
    'firstproject.contacts',
    # Uncomment the next line to enable admin documentation:
    # 'django.contrib.admindocs',
)

#My note display Chinese
FILE_CHARSET='gb18030' 
DEFAULT_CHARSET='utf-8' 
 

 

8.修改urls.py

from django.conf.urls.defaults import *

# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    # Example:
    # (r'^firstproject/', include('firstproject.foo.urls')),

    # Uncomment the admin/doc line below to enable admin documentation:
    # (r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    (r'^admin/', include(admin.site.urls)),
)
 

 

9.在News工程的命令提示符下执行manage.py syncdb指令。Django会根据模型的定义自动完成ORM的数据库映射工作,屏蔽了底层数据库细节和SQL查询的编写。输入yes,创建账户,电子邮件,密码。

 

10.次使用命令manage.py runserver来启动Django自带的Web服务器后,在浏览器中访问地址http://127.0.0.1:8000/admin/ ,使用刚才创建的superuser用户的账号和密码登陆

分享到:
评论

相关推荐

    Flask Web开发:基于Python的Web应用开发实战

    Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。

    tornado python web开发

    Tornado全称Tornado Web Server,是一个用Python语 言写成的Web服 务器兼Web应用框架,由FriendFeed公 司 在自己的网站FriendFeed中使用,被Facebook收购 以后框架在2009年9月以开源软件形式开放给大众。 特点: 作为...

    PythonWeb开发基础教程-第5章-视图.pptx

    Python Web开发基础教程(Django版) PythonWeb开发基础教程-第5章-视图全文共40页,当前为第1页。 第5章 视图 视图(View)是Django的MTV架构中的重要组成部分,它实现业务逻辑处理,决定如何处理用户请求和生成...

    Python使用Django创建Web程序

    资源选自《Python变成从入门到实践》一书,该书提供三个Python入门项目,此为第三个项目Web应用程序,利用Python的Django模块创建和运行Web应用程序。开发顺序可参见我的一片博文。

    python web开发学习实录.part2

    第1章 欢迎来到Python世界 第2章 练就扎实的基本功 第3章 控制结构 第4章 可复用的函数和模块 第5章 数据结构 第6章 字符串与正则表达式 第7章 面向对象编程 第8章 基于文件的交互 第9章 构造可溶错得应用...

    使用Django和Python构建现代Web应用程序的5种最佳实践.docx

    使用Django和Python构建现代Web应用程序的5种最佳实践全文共3页,当前为第1页。使用Django和Python构建现代Web应用程序的5种最佳实践全文共3页,当前为第1页。使用Django和Python构建现代Web应用程序的5种最佳实践 ...

    使用Python Django开发web应用 示例代码 python3.6 django2.0.zip

    使用Python Django开发web应用配套的示例代码 python3.6 django2.0。讲义第三页链接https://blog.csdn.net/jxzdsw/article/details/99312523。只是一个简单的blog系统的例子。我是想找到一个分享平台,并不想收取C币...

    精通Python与Web开发.docx

    Python是一门多功能的编程语言,很适合用于开发Web应用程序。由于Python语言易于学习和快速开发,越来越多的开发者将其作为首选语言。 对于Web开发来说,Python非常适合网络编程,因为它内置了许多网络库和框架。...

    基于python和HTML开发微信的第三方页面失物招领web应用源码.zip

    基于python和HTML开发微信的第三方页面失物招领web应用源码.zip基于python和HTML开发微信的第三方页面失物招领web应用源码.zip基于python和HTML开发微信的第三方页面失物招领web应用源码.zip基于python和HTML开发...

    《PythonWeb开发项目教程(Flask版)》教学大纲.docx

    博学谷——让IT教学更简单,让IT学习更有效 《PythonWeb开发项目教程(Flask版)》教学大纲 12 1 《PythonWeb开发项目教程(Flask版)》教学大纲全文共9页,当前为第1页。《PythonWeb开发项目教程(Flask版)》教学大纲...

    python的web编程实例.docx

    python的web编程实例 Python是一种高级编程语言,它在Web编程方面有着广泛的应用。Python的Web编程实例包括Django、Flask、Tornado等框架,这些框架都可以用来开发... python的web编程实例全文共2页,当前为第1页。 除

    splinter, web应用的分块 python 测试框架.zip

    splinter, web应用的分块 python 测试框架 splinter-- 用于测试web应用程序的python 工具split是一个测试web应用程序的工具,它具有简单的查找元素。表单操作和其他浏览器操作。中的新元素? 第一步安装工具快速教程...

    使用Python的Flask框架来搭建第一个Web应用程序

    同时,你将编写和运行你的第一个Flask web应用程序。 所有的Flask应用程序都必须创建一个 应用程序实例 。使用web服务器网关接口协议将所有从客户端接收的请求传递给这个对象处理。这个应用程序实例就是Flask类的一...

    python-web-frameworks:流行的Python Web框架

    用于构建Web应用程序的Python微框架。 54378 14207 23 2010年 2021-04-04 FastAPI框架,高性能,易于学习,快速编写代码,可投入生产 29271 2028年 784 2018年 2021-04-04 Tornado是一个Python Web框架和异步...

    优质Python教程 Python3.7从基础入门到精通进阶教程 第19章 经典游戏应用-开发弹球游戏 共10页.ppt

    第1章 感受Python精彩世界-认识Python.ppt 第2章 Python的基础语法.ppt 第3章 列表、元组和字典的基本操作.ppt 第4章 熟练操作字符串.ppt 第5章 程序的控制结构.ppt 第6章 函数.ppt 第7章 对象与类.ppt 第8章 程序...

    少儿编程python教案-初识Python.pptx

    初识Python 少儿编程python教案——初识Python全文共24页,当前为第1页。 Python基本概念 海龟编辑器 绘图准备 课程知识点 使用画笔 少儿编程python教案——初识Python全文共24页,当前为第2页。 Python基本概念 ...

    Blog-by-Masonite-:一个由Python和Masonite Framework创建的简单博客Web应用程序

    Masonite非常适合初学者开发人员使用第一个Web应用程序,以及经验丰富的开发人员,他们需要充分利用Masonite的潜力来完成其应用程序。 从安装到部署,Masonite一直致力于快速,简便地工作,因此开发人员可以尽可能...

Global site tag (gtag.js) - Google Analytics