1. 创建一个Django项目,在命令行中先cd进入想存储代码的目录,
django-admin.py startproject mysite
2.启动开发用服务器 从外层mysite进入,运行
python manage.py runserver
获得输出如下内容:
January 28, 2015 - 12:48:43 Django version 1.7.3, using settings ‘mysite1.settings‘ Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C.
3.数据库设置 编辑mysite/settings.py文件
DATABASES = { ‘default‘: { #‘ENGINE‘: ‘django.db.backends.sqlite3‘, #‘NAME‘: os.path.join(BASE_DIR, ‘db.sqlite3‘), ‘ENGINE‘: ‘django.db.backends.mysql‘, ‘NAME‘:‘djtest‘, ‘USER‘:‘root‘, ‘PASSWORD‘:‘123456‘, } }
4.syncdb命令按照INSTALLED_APPS设置,并在setting.py所配置的数据库中创建必要的数据库表
python manage.py syncdb
然后在数据库中使用 show tables;就可以查看创建的表
5创建模型:创建应用,与manage.py在同一目录下并输入以下命令
python manage.py startapp polls
将创建一个polls目录,有modles,views,tests
6.在modles中写入
class Poll(models.Model): question=models.CharField(max_length=200) pub_date=models.DateTimeField(‘date published‘) def __unicode__(self): return self.question class Choice(models.Model): poll=models.ForeignKey(Poll) choice_text = models.CharField(max_length=200) votes=models.IntegerField(default=0) def __unicode__(self): return self.choice_text class Publisher(models.Model): name=models.CharField(max_length=30) address=models.CharField(max_length=50)
7.再次编辑settings.py
INSTALLED_APPS = ( ‘django.contrib.admin‘, ‘django.contrib.auth‘, ‘django.contrib.contenttypes‘, ‘django.contrib.sessions‘, ‘django.contrib.messages‘, ‘django.contrib.staticfiles‘, ‘polls‘, )
把polls(应用的目录)加入
8.同步更新数据库,将model插入到数据库中
$ python manage.py syncdb # wrong! because of migraition ues: $ python manage.py makemigrate $ python manage.py migrate
进入mysql 可以发现这些表都创建好了
9.最后将models加入到Admin管理中
from django.contrib import admin # Register your models here. from polls.models import Poll,Publisher,Choice class AuthorAdmin(admin.ModelAdmin): list_display=(‘first_name‘,‘last_name‘,‘email‘) search_fields=(‘first_name‘,‘last_name‘) admin.site.register(Poll) admin.site.register(Publisher) admin.site.register(Choice)
当一切配置好,发现Django 管理工具就而已运行,启动开发服务器
python manage.py runserver
在浏览器中欧你访问,就可以登录http://127.0.0.1:8000/admin/
就可以看到数据库的表,可视化这些操作
10. 进入python的交互式shell中玩弄- -Django给的API
通过 databaseAPI来浏览数据
python manage.py shell
>>> from polls.models import Poll,Choice #系统中还没有Poll>>> Poll.objects.all() []#创建一个poll对象 >>> from django.utils import timezone >>> p=Poll(question="What‘s new?",pub_date=timezone.now())#保存到数据库中必须调用save()方法 >>> p.save() >>> p.id 1L >>> p.question "What‘s new?" >>> p.pub_date datetime.datetime(2015, 1, 28, 14, 41, 13, 272036, tzinfo=<UTC>)#更改数据再save >>> p.question="What‘s up" >>> p.save() #显示数据库中所有的poll 通过objects.all()函数 >>> Poll.objects.all() [<Poll: What‘s up>] >>>
时间: 2024-10-13 05:46:02