`

我的第一个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用户的账号和密码登陆

分享到:
评论

相关推荐

    Python语言的Web开发应用.pdf

    - **CherryPy**:CherryPy是一个轻量级的Web框架,它将每个Web应用视为一个Python对象,可以非常简单地部署和扩展。CherryPy内置了Web服务器,因此开发者可以直接在其上运行Web应用。 - **Flask**:Flask是一个轻量...

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

    Flask是Python编程语言中的一个轻量级Web应用程序框架,以其简洁、灵活的特性受到了开发者们的广泛欢迎。它遵循"微框架"理念,允许开发者自由选择如何组织项目和依赖库,而不会强制引入不必要的复杂性。以下是对...

    Python web实训报告.docx

    2. Visual Studio Code安装:VSCode是一个流行的代码编辑器,支持多种编程语言,包括Python。按照默认步骤安装即可。 3. 配置Python环境:在VSCode中设置Python路径,以便能正确识别和运行Python文件。 4. Django...

    python web 案例 demo

    Django 是一个高级的 Python Web 框架,遵循“ Batteries Included ”的原则,提供了完整的功能,包括 ORM(对象关系映射)、模板引擎、表单处理、用户认证等。"Django 实战系列"可能包含以下知识点: 1. **项目...

    pythonweb设计教程课后答案-PythonWeb开发基础教程教学大纲.pdf

    **Python Web开发基础教程概述** ...通过本课程的学习,学生不仅将精通Python Web开发的基础技术,还将具备独立设计和实施Web应用程序的能力,为未来在Web开发领域的进一步深造或职业发展奠定坚实基础。

    Python Django Web典型模块开发实战_用Django REST framework实现豆瓣API应用项目.pdf

    **Python Django Web典型模块开发实战** - 这个主题涵盖了使用Python的Django框架进行Web应用开发的实践项目。Django是一个高级的Python Web框架,它鼓励快速开发和干净、实用的设计。通过使用Django,开发者可以...

    Python Web 框架,第 1 部分 使用 Django 和 Python 开发 Web 站点.doc

    标题与描述中的关键词“Python Web框架”,“Django”,“Python开发Web站点”明确指出了本文档的主题,即使用Python编程语言与Django框架进行Web应用开发。文档内容虽然包含了一些无法解析的[pic]标记,但核心信息...

    tornado python web开发

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

    PythonWeb开发基础教程-第9章-Python在线题库.pptx

    【Python Web开发基础教程-第9章-Python在线题库】是针对初学者的一份详尽教程,旨在介绍如何利用Python进行Web开发,特别是构建一个在线题库系统。本章内容涵盖项目设计、项目实现、数据管理和试卷导出功能。 在...

    python web开发视频教程 01

    【Python Web开发视频教程 01】:这是一个针对Python Web开发初学者的视频教程系列的首部分。在这一部分中,我们将深入探讨Python语言的基础及其在Web开发中的应用。Python以其简洁、易读的语法和丰富的库支持,成为...

    PythonWeb.zip

    PythonWeb.zip是一个包含使用Python语言和Tornado框架构建的Web应用程序的压缩文件。Tornado是一个开源的、高性能的Web服务器和异步网络库,最初由FriendFeed开发,并被Facebook收购后进一步发展。它以其轻量级、可...

    Python Web 实战指南PDF

    Python Web实战指南是一本深入探讨如何使用Python语言构建Web应用的书籍。这本书涵盖了从基础到高级的多个主题,旨在帮助读者掌握开发Web应用的核心技能。以下是对书中可能涉及的一些关键知识点的详细阐述: 1. **...

    Python开发web一些书籍教程

    最后,"FlaskWeb开发:基于Python的Web应用开发实战.pdf"聚焦于Flask框架,Flask是一个轻量级的Python Web框架,适合构建中小型应用。这本书可能详细介绍了Flask的架构、路由、模板渲染、数据库集成、表单处理、用户...

    使用python搭建一个web环境

    本文将指导您从头开始搭建第一个 Python web 项目,从环境安装到项目生成。我们将使用 PyCharm 2018.1.4、Python 3.7 和 Django 2.0。 搭建第一个 Python web 环境 首先,我们需要安装 PyCharm、Python 和 Django...

    PythonWeb开发基础教程教案PDF版进店另有word版或PPT版.pdf

    1. 第1章“Python Web开发起步”:介绍Web应用的基本架构,讲解Python Web框架,特别是Django的基础知识。教学重点在于配置Python Web开发环境和创建Django项目,难点可能在于理解环境配置和项目的初始化。 2. 第2...

    PythonWeb开发基础教程(Django版)(微课版)-PPT.zip

    **第1章 Python Web开发起步** 在这一章,我们将探讨Python在Web开发中的角色,以及为什么选择Django作为Web框架。主要内容包括Python的基础知识,Django的历史和特点,以及如何安装和设置Django开发环境。了解这些...

    python web开发视频教程 02

    首先,Python的安装是学习Python编程的第一步。在Windows系统上,我们需要访问Python官方网站(https://www.python.org/)下载最新版本的Python安装包。目前最新的稳定版本可能是Python 3.x系列,例如Python 3.9。在...

    Python使用Django创建Web程序

    本项目是基于《Python编程从入门到实践》一书的第三个实战项目,旨在教你如何使用Django来创建一个完整的Web应用程序。下面,我们将深入探讨Django的核心概念和关键功能。 1. **Django简介** Django是用Python编写...

Global site tag (gtag.js) - Google Analytics