开始一个项目
打开cmd ,进入django的开发目录(自己按个人习惯建议个开发目录)
~/django-admin.pystartprojectmysite,注意,这里的django-admin.py要输入绝对路径
这样就会在当前目录下创建一个目录 mysite,
startproject 命令创建一个目录mysite,包含4个文件:
__init__.py :让 Python 把该目录当成一个开发包 (即一组模块)所需的文件。 这是一个空文件,一般你不需要修改它。
manage.py :一种命令行工具,可让你以多种方式与该 Django 项目进行交互。 键入pythonmanage.pyhelp,看一下它能做什么。 你应当不需要编辑这个文件;在这个目录下生成它纯是为了方便。
settings.py :该 Django 项目的设置或配置。 查看并理解这个文件中可用的设置类型及其默认值。
urls.py:django项目的URL设置。 可视其为你的django网站的目录。 目前,它是空的。
要运行你的服务器,请切换到你的项目目录里 (cdmysite )。如果你还没准备好,那么运行下面的命令:
python manage.py runserver
你会看到些像这样的
Validating models...
0 errors found.
Django version 1.0, using settings 'mysite.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
这将会在端口8000启动一个本地服务器, 并且只能从你的这台电脑连接和访问。 既然服务器已经运行起来了,现在用网页浏览器访问http://127.0.0.1:8000/ 。 你应该可以看到一个令人赏心悦目的的淡蓝色Django欢迎页面。 它开始工作了。
创建简单的网页
1)在上一篇中使用django-admin.pystartproject制作的mysite文件夹中,创建一个叫做views.py的空文件。这个Python模块将包含这一章的视图。 请留意,Django对于view.py的文件命名没有特别的要求,它不在乎这个文件叫什么。但是根据约定,把它命名成view.py是个好主意,这样有利于其他开发者读懂你的代码,正如你很容易的往下读懂本文。
我们的Hello world视图非常简单。 这些是完整的函数和导入声明,你需要输入到views.py文件:
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello world")
2) 然后在urls.py中添加url调用
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'^mysite/', include('mysite.foo.urls')),
# Uncomment the admin/doc line below and add 'django.contrib.admindocs'
# to INSTALLED_APPS to enable admin documentation:
# (r'^admin/doc/', include('django.contrib.admindocs.urls')),
('^hello/$', hello),
# Uncomment the next line to enable the admin:
# (r'^admin/', include(admin.site.urls)),
)
然后在浏览器输入http://127.0.0.1:8000/hello/
即可看到我们熟悉的界面,Hello World!
Django站点管理(使用MySQL)
1)修改settings.py
DATABASES = {
'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'ENGINE': 'django.db.backends.mysql',
'NAME': 'test',
'USER': 'root',
'PASSWORD': '123456',
}
}
现在我们可以创建数据库表了。 首先,用下面的命令对校验模型的有效性:
python manage.py validate
确定数据库连接正确的,就可以创建app了,执行python manage.py startapp books
它将mysite 的目录里创建了一个 books 目录,如下结构
books/ __init__.py models.py tests.py views.py修改books/models.py
from django.db import models
# Create your models here.
class Publisher(models.Model):
name = models.CharField(max_length=30)
address = models.CharField(max_length=50)
city = models.CharField(max_length=60)
state_province = models.CharField(max_length=30)
country = models.CharField(max_length=50)
website = models.URLField()
class Author(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=40)
email = models.EmailField()
class Book(models.Model):
title = models.CharField(max_length=100)
authors = models.ManyToManyField(Author)
publisher = models.ForeignKey(Publisher)
publication_date = models.DateField()
# Application definition INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'books', ) MIDDLEWARE_CLASSES = ( 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', )
books如果出错的话,就将books改成mysite.books,我用的是books,没有问题
执行
python manage.py syncdb
执行这个命令后,将看到类似以下的内容:
Creating table books_publisher Creating table books_author Creating table books_book Installing index for books.Book model
这时进入mysql,可以查看这些表已经创建
最后 将你的Models加入到Admin管理中
admin.py
from django.contrib import admin
# Register your models here.
from books.models import Publisher, Author, Book
class AuthorAdmin(admin.ModelAdmin):
list_display=('first_name','last_name','email')
search_fields=('first_name','last_name')
admin.site.register(Publisher)
admin.site.register(Author,AuthorAdmin)
admin.site.register(Book)
当这一切都配置好后,现在你将发现Django管理工具可以运行了。 启动开发服务器(如前:`` python manage.py runserver`` ),然后在浏览器中访问:http://127.0.0.1:8000/admin/
就是简单的用户登录,然后就可以看到数据库的表,可以可视化的操作这些表了~
Django的MVC架构
M: 即model,数据存取部分,由django数据库层处理
V: 即View,选择显示哪些数据要及怎样显示的部分,由视图和模板处理
C: 即Control,根据用户输入委派视图的部分,由 Django 框架通过按照 URLconf 设置,对给定 URL 调用合适的 python 函数来自行处理。