首页 > 代码库 > Django学习笔记1

Django学习笔记1

1. 创建一个Django项目,在命令行中先cd进入想存储代码的目录,

django-admin.py startproject mysite

2.启动开发用服务器 从外层mysite进入,运行

python manage.py runserver

获得输出如下内容:

January 28, 2015 - 12:48:43Django version 1.7.3, using settings mysite1.settingsStarting 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.questionclass 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_textclass 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 migraitionues:$ 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,Choiceclass 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.id1L>>> p.question"What‘s new?">>> p.pub_datedatetime.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: Whats up>]>>>

 

Django学习笔记1