第一个django项目

分享一下我老师大神的人工智能教程!零基础,通俗易懂!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自带的


流程:

  1. 使用django提供的命令新建django项目
  2. 再建数据库, 并在setting.py设置好django对数据库的配置
  3. 使用django命令新建应用
  4. 在setting.py中添加应用声明并修改应用目录下的models文件内容
  5. 使用django命令创建表
  6. 设置自动admin应用,完成后再执行一次创建表的命令
  7. 最后, 开启服务器, 在浏览器中输入网址验证吧


开始:

首先选择一个目录(你喜欢), 在其下面运行下面的命令

django-admin.py startproject firstprojfirstproj  是你自己的设定

在我的环境下,得到了这些文件

firstproj/  manage.py


注意《django web开发指南》里面介绍的是目录下存在以下这些文件

__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)")


当每一次操作都出现错误,我便按照每一条错误信息进行修改, 直到OK为止, 注意上面的错误我是贴出来提醒一下, 并不是你按照我上面贴出的步骤操作后也会出现这些错误。

 ./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 中设置的用户名和密码,然后你会看到下面这个画面:




如果你成功看到这个画面,说明你成功了, 恭喜!











           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

这里写图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/427603.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springcloud20---Config加入eureka

Config server也可以加用户名和密码。Config client通过用户名和密码访问。 Config server也可以做成高可用集群。 Config与eureka配置使用。把Config server注册到eureka。Config client也要注册到eureka。 package com.itmuch.cloud;import org.springframework.boot.SpringA…

字符串右移n位

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!题目:实现字符串右移几位&#x…

mysql中的CURRENT_TIMESTAMP

MySQL的timestamp类型可以使用CURRENT_TIMESTAMP来指定默认值,当记录增、改时,该值会自动取当前时间,如下图所示: 增加或修改记录时,该值自动变化 但是这个跟MySQL的版本及日期的具体类型有关,只有5.6之后的…

C++异常之异常说明

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!为了能够编写适当的catch子句,了…

微信小程序image组件中aspectFill和widthfix模式应用详解

aspectFill 与 widthfix 都是保持宽高比不变 aspectFill 保持纵横比缩放图片,只保证图片的短边能完全显示出来。也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取。 aspectFill同样保持图片的宽高比不会变形。但它让图片…

poj 2255 Tree Recovery 解题报告

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!题目出处题意:输入两组数据&…

C符号之逻辑运算符 左移与右移 自增自减

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!本篇文章将总结C中一些比较有趣的符号逻辑运…

年轻的工程师如何月入伍万XD

郑昀:你要跟谁比?关键词:成长,自我管理,自我激励,面试,候选人201806 ——你觉得跟你的 Leader 差在什么地方?——肯定有差距,一个是知识面不如他广,二一个是解…

字符串翻转

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!《递归入门》字符串翻转:将字符串…

Java学习之SpringBoot整合SSM Demo

背景:在Java Web中Spring家族有着很重要的地位,之前JAVA开发需要做很多的配置,一堆的配置文件和部署调试一直是JavaWeb开发中的一大诟病,但现在Spring推出了SpringBoot,提供了快速单机部署调试和注解配置的便利。作为一…

Java别说取余( )运算简单,你真的会吗

一,直击现场下面我来抛出几道题: 说明m是商,n是余数; (1)正数%正数 3%2m…….n 2%3m…….n (2)正数%负数或者负数%正数 -3%2m…….n 3%-2m…….n -2%3m…….n 2%-3m…….n (3)负数%负数 -3%-2m…….n -2%-3…

centos6 5从命令行进入图形界面

一,安装图形界面包组 yum groupinstall “Desktop” -y yum groupinstall “X Window System” -y之所以加 -y 是为了一会安装的时候不用再确认了。不加-y也行。不过一会儿有可能有很多选项需要你确认;二,进入图形界面 startx从图形界面到命令…

前端与后端接口的交互案例

一、案例描述1,前端页面提供用户名,密码输入框。 2,通过Ajax发送请求到后端Serlvet。 3,后端Serlvet处理请求,根据输入的用户名和密码返回给前端不同信息前端访问后端接口通过后端提供的的URL二、主要代码1、前端页面&…

20172301 2017-2018-2《程序设计与数据结构》课程总结

20172301 2017-2018-2《程序设计与数据结构》课程总结 每周作业链接汇总 预备作业1 简要内容:对上学期的认识和总结,对专业和老师的期望。预备作业2 简要内容:关于技能和学习技能经验。预备作业3 简要内容:安装虚拟机和Linux命令学习。第一周作业 简要内容: 计算机系…

软链接和硬链接到底有啥作用和区别

前言:在网上搜索了好久,看了很多博客,某度知道等等。关于软硬链接的解释都太模糊,还有什么i节点,跨分区根本弄不明白,在查阅了书籍和询问老师后决定自己写一篇简单的博文,然初学者都能够明白的博…

redis 批量删除操作

redis 原生删除方法 del key1 key2 ... 只支持显示删除 使用*通配符 和 xargs可以很方便地进行批量删除 形式如下: redis-cli -h 192.168.1.45 -p 6379 keys "*" | xargs redis-cli -h 192.168.1.45 -p 6379 -n 6 del *通配符:匹配所有字符 补…

c++ 的makefile文件实例

首先声明, 感谢九哥的帮助,因为从来没写过makefile, 所以一直是手动编译, 然后有一次写了三个文件, 需要编译, 而我只编译了一个文件, 所以一直出错, 九哥告诉我用makefile更方便&am…

操作系统短作业优先(SJF)调度算法

一&#xff0c;算法代码#include<stdio.h>struct sjf { //定义进程的结构体 char name[10];//进程名 float arrivetime;//到达时间 float servicetime;//服务时间 float starttime;//开始时间 float finishtime;//完成时间 float zztime; //周转时间 …

操作系统进程调度先来先服务FCFS

一&#xff0c;实验的流程图二&#xff0c;实验代码注&#xff1a;本代码主要来自豆丁&#xff0c;加入本人的部分修改。。//本FCFS是用不带都结点的链表完成。当然也可以用其他数据结构 #include<stdio.h>#include<stdlib.h>typedef struct PCB //定义进程控…

如何给SAP Cloud Connector Region列表中添加新的Region

SAP help里提供了CloudFoundry和Neo环境下可用的Region和API endpoint&#xff1a; 当我们期望用SAP Cloud Connector连接某个SAP云平台Region时&#xff0c;一般是从F4 value help里选择&#xff1a; 如果drop down list里没有我们希望使用的region怎么办&#xff1f; 解决方案…