Django 1.9 开发web项目

Python Version:     2.7.10
Django Version:     1.9
REST framework 3.3.2

创建项目:
django-admin startproject TestWeb

切换到项目中创建应用:

django-admin startapp app01

修改配置文件settings.py,添加你的应用app01和rest_framework

    INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app01'
    'rest_framework',
    ]
    

app01文件夹下创建templates文件夹放入index.html模板文件

告诉你的应用模板文件路径,修改settings.py

TEMPLATE_DIRS=os.path.join(os.path.dirname(__file__),'templates')

最新版1.9已无需配置默认会到应用的templates文件夹下寻找

    TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
    ]

配置urls.py文件

    urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^$', index),
    ]
  
    

启动你的应用

python manage.py runserver 8080

后台管理
数据库配置默认是sqlite,mysql的配置如下

    DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'USER':'root',
        'PASSWORD':'',
        'NAME':'test',
        'HOST':'localhost',
        #'ENGINE': 'django.db.backends.sqlite3',
        #'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
    }

localhost:8080/admin/登录报no such table: auth_user错误

运行python manage.py syncdb即可自动创建所需表

注意:Django 1.7.1及以上的版本python manage.py syncdb失效需要用以下命令

python manage.py makemigrations

python manage.py migrate

创建模型,修改models.py

    
    from __future__ import unicode_literals
    
    from django.db import models
    
    # Create your models here.
    class Mysite(models.Model):
        title=models.CharField(max_length=100)
        url=models.URLField()
        author=models.CharField(max_length=100)
        num=models.IntegerField()

        def __unicode__(self):  
            return self.title 

        class Meta:             #查询时会以num排序
            ordering= ['num']
   

python manage.py shell 进入交互式数据查询

from app01.models import *

m=Mysite(title='django',num=2)

m.save()

m=Mysite.objects.all()

m[0].title

m=Mysite.objects.get(num=2)

m=Mysite(title='django',num=3)

m.save()

m=Mysite(title='django',num=9)

m.save()

m=Mysite.objects.all().order_by('num')#升序

m=Mysite.objects.all().order_by('-num')#降序

m.delete()

m=Mysite.objects.all()[0:2]

管理界面管理你的模型admin.py

    from django.contrib import admin
    from app01.models import *
    
    # Register your models here.
    admin.site.register(Mysite)

使用表单出现CSRF verification failed. Request aborted.错误

解决方法:
[http://www.91pen.net/slove-the-problem-when-the-django-form-submitted-occur-403-error-csrf-verification-failed-request-aborted.html](http://www.91pen.net/slove-the-problem-when-the-django-form-submitted-occur-403-error-csrf-verification-failed-request-aborted.html)

urls.py配置

    from django.conf.urls import url
    from django.contrib import admin
    from app01.views import *
    urlpatterns = [
    url(r'^admin/', admin.site.urls),
        url(r'^$', index),
        url(r'^hello/$', hello),
    ]

静态资源文件配置

STATIC_URL = '/static/'

STATICFILES_DIRS=(
   'D:/TestWeb/static',

)

参考文章:

[http://blog.laisky.com/p/django-rest/](http://blog.laisky.com/p/django-rest/)

[http://www.ziqiangxuetang.com/django/django-static-files.html](http://www.ziqiangxuetang.com/django/django-static-files.html)

本文出自 “点滴积累” 博客,请务必保留此出处http://tianxingzhe.blog.51cto.com/3390077/1728002

时间: 2024-10-03 15:19:04

Django 1.9 开发web项目的相关文章

新手求指导python flask开发web项目经验

问题描述 新手求指导python flask开发web项目经验 大一快结束 参与一个正式的项目,运用python flask框架进行web开发.以前学过c,c++,会写代码.但是学完python,入门了flask框架后,也会写代码,不明白如何在项目里写代码,是我没理解到python的内涵么,还是其他什么原因(求推荐一些开源web开发项目代码学习一下) 解决方案 flask官方文档就带了例子, 基本上就是注册一个route,然后实现自己的函数. 解决方案二: Python 入门,web 开发还是

使用SpringSide 3.1.4.3开发Web项目的全过程(下)

第八步.使用Spring Security保护Web资源.在SpringSide 3项目中,已经 整合进了SpringSecurity,实现了符合RBAC规范的权限管理系统,并把数据保存 到了数据库中.我以前的博文SpringSide 3 中的安全框架中对SpringSecurity 有一个初步的探讨,我认为我写的东西对入门来说是很有帮助的,入门以后再深 入就简单了,在评论中我又补充了几点,其中就提到如果要把资源权限配置内容 放到数据库中,就要从objectDefinitionSource着手.

在eclipse中开发web项目学生作业管理系统需要学习哪些方面的东西

问题描述 在eclipse中开发web项目学生作业管理系统需要学习哪些方面的东西 在校大学生党,想开发一个基于web的学生作业管理系统,在eclipse中编程,,除了eclipse的用法,我不知道还要学习哪些东西,求大神给建议,还有,数据库最好用什么呢,我的电脑之前卸载sql server有残留,所以sql server好像装不了了 解决方案 java web,Servlet,开发工具使用MyEclipse要好点,使用Eclipse的话还需要j2ee的一些插件.数据库建议学习使用mysql,简单

使用IDEA社区版开发Web项目

IDEA + Maven + Jetty来开发Web项目,主要演示下如何调试代码. 1. 首先我们来创建一个Maven项目,项目类型选择"Maven Module",输入项目名称"demo". 2. 选择项目使用的Archetype为"maven-archetype-webapp",这里也可以随便修改下GroupId等信息. 3. 这一步直接点击"Finish". 4. 打开Maven的配置文件pom.xml,在build节点

b/s-javafx 开发web项目 B/S

问题描述 javafx 开发web项目 B/S 请问使用javafx如何开发BS结构的web项目.本人能够简单的使用webview等对象在本地开发CS结构的例子.但是项目要求是 类似于javaee的BS结构的web.求大神给一个简单的demo或者开发方法,本人使用的是myeclipse.在线等

开发Web项目,应该下那个开发包

问题描述 想上官网下个最新的JDK,结果发现JDK已经被划分成了多个版本.请教各位高手,开发Web项目应该下载哪个,这几个版本功能上有什么区别JavaSE JDK 6JavaEE 6 SDKJavaEE 6 SDK with JDK6只安装JDK6的话,能开发WEB项目吗?在网上看见有人说只要安装Tomcat就包含javaee了,是什么意思?只安装JavaEE6 SDK,没有JDK的话,能正常开发JAVA项目吗? 解决方案 JAVASDK就是JDK,JDK是整个Java的核心,包括了Java运行

asp.net开发web项目-vss集成环境配置

asp.net|web|项目   首先,vss必须要6.0c以上版本才能在.net环境中使用, 在.net2003安装盘中有6.0d版,6张盘的版本中没有. vss的安装 服务器端: 找到安装文件,运行setup程序,一路next,超简单,不用解释了吧. 客户端: 在服务器上找到vss的安装目录,其中有个vss子目录,里面包含有netsetup.exe, 把vss目录共享出来,记住一定要共享vss目录,如果共享上级目录,是无法网络安装的, 然后在客户机上打开服务器上的vss共享目录,运行nets

使用SpringSide 3.1.4.3开发Web项目的全过程(上)

SpringSide 3.1.4.3是目前SpringSide的最新版本,也是完成度比较高的一 个版本,用来做实际项目的开发应该丝毫不成问题.这里写一下使用该版本开发 一个简单Web项目的全过程,当然,最重要的是我自己的一些心得体会.我的文 章很长,只有耐下性子细看,才能体会个中三味. 第一步.下载SpringSide 3.1.4.3 all-in-one版.这个过程太简单了, SpringSide的官方网站是www.springside.org.cn,去那里就可以下载了,all- in-one

使用SpringSide 3.1.4.3开发Web项目的全过程(中)

第七步.编写Action和JSP.在SpringSide 3.1.4.3中,使用的是Struts 2及 其Convention插件,已经不是前面使用的CodeBehind插件了,关于Convention插 件,这里要再说几句,该插件的大部分功能和 CodeBehind相同,唯一让人有点 迷惑的就是该插件到哪里寻找Action类的问题,它会根据 struts.convention.package.locators属性的值来决定,在该项目中,其值为" web",之需要查阅一下 struts