Maorongrong smile like sunshine

Django开发BBS

2015-12-03

you want to try something new, so keep with it.don’t like me.

win下Django环境及开发环境

安装Django

image_1ak31epn71894bad1cba12jfj7f9.png-32.7kB

已经装好的环境中就有pip了。安装好的Django路径D:\python2.7\Lib\site-packages\Django-1.8.13-py2.7.egg

安装DB

我的系统安装的XAMPP(包含mysql),确认安装正常后,可以使用Navicat Premium连接到这个DBMS。

XAMPP

XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包。这个软件包原来的名字是 LAMPP,但是为了避免误解,最新的几个版本就改名为 XAMPP 了。它可以在Windows、Linux、Solaris、Mac OS X 等多种操作系统下安装使用,支持多语言:英文、简体中文、繁体中文、韩文、俄文、日文等。1 许多人通过他们自己的经验认识到安装 Apache 服务器是件不容易的事儿。如果您想添加 MySQL、PHP 和 Perl,那就更难了。XAMPP 是一个易于安装且包含 MySQL、PHP 和 Perl 的 Apache 发行版。XAMPP 的确非常容易安装和使用:只需下载,解压缩,启动即可。

安装Mysql DB API模块

参见本标签下,安装Mysql DB模块文档

create project&app

$ django-admin help startproject(查看子选项,设置等) $ django-admin help startapp

命令脚本’django-admin.py’在D:\python2.7\Lib\site-packages\Django-1.8.13-py2.7.egg\EGG-INFO\scripts\django-admin.py,如果在win-cmd控制窗口执行:1.在任何目录执行都可以,但是得添加该命令的绝对路径;2.进到该命令所在的路径执行,执行命令django-admin.py --help

startproject目录结构

image_1ak32pl971q0p1pk6duspvkshl9.png-7.1kB A.外层的mysite/目录名字可以更改,内层不可以更改; B.mysite/settings.py 是这个Django项目的配置文件,数据库、安装的应用都在这里配置。 C.mysite/urls.py: The URL declarations for this Django project; a “table of contents” of your Djangopowered site. D.mysite/wsgi.py: An entry-point for WSGI-compatible web servers to serve your project. E.mysite/_ _init__.py: An empty file that tells Python that this directory should be considered a Python package.

startapp目录结构

在刚才创建的project项目(不是内层mysite目录内)内创建新的app,假设名字是polls. image_1ak3bhukmrsr1mpbkss1kaj8om.png-9.4kB polls/models.py:定于你的数据库表结构。每个model是数据单一的、原始的定义;每个model都是django.db.models.Model的子类。

acting models

  • create a database schema
  • Create a Python DB API
  • 在mysite/settings.py文件中添加DATABASES,INSTALLED_APPS相关字段。

在BBS开发项目中,随之运行python manage.py suncdb,由于表结构中有一个字段是models.ImageField()因此要求预先安装Pillow,进入python的script目录运行pip install Pillow即可,创建数据库及数据表完成。

makemigrations & migrate

makemigrations

$ python manage.py makemigrations app1 >By running makemigrations, you’re telling Django that you’ve made some changes to your models and that you’d like the changes to be stored as a migration.

image_1ak3esf19liq4losmi1hr115th13.png-7.6kB

mysite/app1/migrations/生成0001_initial.py,目录结构如下:

image_1ak3f1s3057u16p81pr31rt61or91g.png-4.5kB

sqlmigrate(不怎么用)

$ python manage.py sqlmigrate app1 0001查看migration时运行的SQL语句。

# migrate

$ python manage.py migrate在已创建数据库中,创建这些数据库models。

注意:makemigrations+migrate是为了在数据库中同步修改的数据表。

the development server

$ python manage.py runserver [chaged port]

在本地8000端口起一个python写的轻量级web server.http://127.0.0.1:8000/

为web site添加管理员

创建admin

$ python manage.py createsuperuser,这里设为admin:123456 $ python manage.py runserver

设置后进入web server:http://127.0.0.1:8000/admin/,输入admin及密码即可。

添加app到admin

mysite/app1/admin.pyimport app1的models,并对models表注册。 刷新http://127.0.0.1:8000/admin/正在开发的app1就会在这里了,包括app1的表结构。


下一篇 虚拟机迁移

Comments