分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
说在前面,这篇文章是为记录下我个人的操作记录,不一定适合你的情况,但你可以当作参考 :)
关于环境搭建你可以看这里
这个第一个django项目我是参考《django web开发指南》这本书的,注意这本书是09年出版的,现在django已经更新了,所以书上的讲解和现在的操作会有一些出入,如果你也刚好是看这本书,苦于书上的介绍与实际有出入,那我的文章可能刚好能帮助你解决这个问题
我的环境:
ubuntu 12.04
python 2.7.3
django 1.5.1
mysql Ver 14.14 Distrib 5.5.29, for debian-linux-gnu (x86_64) using readline 6.2
服务器 : 这里我选择了django自带的
流程:
- 使用django提供的命令新建django项目
- 再建数据库, 并在setting.py设置好django对数据库的配置
- 使用django命令新建应用
- 在setting.py中添加应用声明并修改应用目录下的models文件内容
- 使用django命令创建表
- 设置自动admin应用,完成后再执行一次创建表的命令
- 最后, 开启服务器, 在浏览器中输入网址验证吧
开始:
首先选择一个目录(你喜欢), 在其下面运行下面的命令
django-admin.py startproject firstprojfirstproj 是你自己的设定
在我的环境下,得到了这些文件
firstproj/ manage.py
__init__.py settings.py urls.py manage.py
那么这些文件在我的环境上去了哪里呢? 没错,看到我的目录下存在 firstproj 和 manage.py ,所以manage.py 独立放在了外面,而其他文件(_init__.py setting.py urls.py)就放在firstproj/firstproj/下,在我的环境下是这样的:
注意是 firstproj/firstproj/
__init__.py settings.py urls.py wsgi.py
注意这里是多了 wsgi.py
这时候你运行 ./manage.py runserver ,然后在浏览器输入 http://127.0.0.1:8000就能看到一个提示页面,“ It Worked!"
继续:
现在我需要用mysql新建一个数据库
mysql -u root -p
create database firstproj;
新建了一个数据库 firstproj show databases;+--------------------+| Database |+--------------------+| information_schema || firstproj || mysql || performance_schema || test |+--------------------+5 rows in set (0.00 sec)
数据库建好了,这时候就去 setting.py 里修改关于数据库的信息
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 这里添加了mysql 'NAME': 'firstproj', # 注意这里改了 # The following settings are not used with sqlite3: 'USER': 'root', # 这里改了root 'PASSWORD': '你数据库的密码', 'HOST': '', # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP. 'PORT': '', # Set to empty string for default. }}
保存退出,回到 firstproj/ 路径, 注意不是 firstproj/firstproj/
执行命令
./manage.py startapp blog
创建应用 blog, 完成之后 ls 一下, 如下:blog firstproj manage.py
由于创建了应用, 进入setting.py 注册一下,修改如下:INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', 'blog', #添加这行! 不是写 'firstproj.blog' # Uncomment the next line to enable the admin: #'django.contrib.admin', # Uncomment the next line to enable admin documentation: # 'django.contrib.admindocs',)
保存退出, 进入blog目录下,修改 models.py , 如下:
from django.db import modelsclass BlogPost(models.Model): title = models.CharField(max_length=150) boby = models.TextField() timestamp = models.DateTimeField()
保存退出。这时候在 firstproj/ 下运行:
./manage.py syncdb
由于之前提到的步骤中我是按照书上介绍的操作,所以都出现了如下的错误:ImportError: No module named fisrtpoj.blogImportError: No module named firstpoj.blogImportError: No module named blogOperationalError: (1045, "Access denied for user 'sheng'@'localhost' (using password: YES)")OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: YES)")
./manage.py syncdb
这条指令操作成功会出现以下信息, 初始化信息:Creating tables ...Creating table auth_permissionCreating table auth_group_permissionsCreating table auth_groupCreating table auth_user_groupsCreating table auth_user_user_permissionsCreating table auth_userCreating table django_content_typeCreating table django_sessionCreating table django_siteCreating table blog_blopostYou just installed Django's auth system, which means you don't have any superusers defined.Would you like to create one now? (yes/no): yesUsername (leave blank to use 'sheng'): Email address: 你的邮箱Password: Password (again): Superuser created successfully.Installing custom SQL ...Installing indexes ...Installed 0 object(s) from 0 fixture(s)
到现在, 就要设置自动 admin 应用:
打开 setting.py , 修改如下
INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', 'blog', # Uncomment the next line to enable the admin: 'django.contrib.admin', #修改了这里 # Uncomment the next line to enable admin documentation: # 'django.contrib.admindocs',)
保存退出打开urls.py , 修改如下(注意这里跟书上是不同的):
from django.conf.urls import patterns, include, url# Uncomment the next two lines to enable the admin:from django.contrib import admin #修改这里admin.autodiscover() #修改这里urlpatterns = patterns('', # Examples: # url(r'^$', 'firstproj.views.home', name='home'), # url(r'^firstproj/', include('firstproj.foo.urls')), # Uncomment the admin/doc line below to enable admin documentation: # url(r'^admin/doc/', include('django.contrib.admindocs.urls')), # Uncomment the next line to enable the admin: url(r'^admin/', include(admin.site.urls)), #修改这里)
其实文件中的注释已经很好的做了一个说明接着修改 blog/models.py ,修改如下:
from django.db import modelsfrom django.contrib import admin #添加这句class BlogPost(models.Model): title = models.CharField(max_length=150) boby = models.TextField() timestamp = models.DateTimeField()admin.site.register(BlogPost) #添加这句
保存退出再执行一次
./manage.py syncdb
最后,开启 django 自带服务器, 执行 ./manage.py runserver
然后在浏览器中输入 http://127.0.0.1:8000/admin/
如无意外你会看到这个画面
输入在 setting.py 中设置的用户名和密码,然后你会看到下面这个画面:
如果你成功看到这个画面,说明你成功了, 恭喜!