开始一个项目
打开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 函数来自行处理。