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)

时间: 2024-11-02 04:38:10

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

Eclipse开发Web项目

http://blog.csdn.net/wozaifeiyang0/article/details/6888197#_Toc281559669 1.    开发环境的搭建... - 1 - 1.1.     开发工具... - 1 - 1.2.     搭建开发环境... - 1 - 2.    开发Web项目... - 1 - 2.1.     新建Web项目... - 1 - 2.2.     开发Servlet - 3 - 2.3.     发布Web项目... - 5 - 2.4.  

jsp+servlet+javabean开发web项目

一.介绍: 项目依赖包:jdbc数据库包 jsp+servlet+javabean开发web项目,是最接近web项目原生运行原理的. 但是,jsp内容混乱,项目结构复杂时,代码会混乱 二.运行原理: jsp发出请求到web-- web接收请求并匹配请求对应的servlet-- servlet调用数据库dao层操作数据库-- 如果有数据传递,放到request或者session中 重点:servlet会执行doService()方法来判断调用doGet()或者doPost() 三.开发步骤: 1.

eclipse集成jetty开发web项目(不采用maven方式)

以前开发过程部署项目都是采用tomcat,偶然发现jetty,所以试了下,挺方便的,直切主题. 1.下载jetty,楼主使用的jetty8,地址http://download.eclipse.org/jetty/ 2.下载完成后,解压缩,cd到jetty路径下,运行命令: java -jar start.jar 3.默认端口号8080,访问http://localhost:8080,出现jetty welcome界面 到此,说明jetty已经安装成功! 关于eclipse集成jetty开发web

使用IDEA社区版开发Web项目

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

SSM框架开发web项目系列(二) MyBatis真正的力量

前言 上篇SSM框架环境搭建篇,演示了我们进行web开发必不可少的一些配置和准备工作,如果这方面还有疑问的地方,可以先参考上一篇“SSM框架开发web项目系列(一) 环境搭建篇”.本文主要介绍MyBatis的基础内容,包括基本概念.开发步骤.使用实例等.说起MyBatis,工作中做过SSH/SSM相关Web开发的或者正在学习MyBatis的人或多或少都会接触到类似“MyBatis和Hibernate有什么区别?”,“MyBatis和Hibernate哪个更好?”,“为什么Mybatis用的人越来

使用Eclipse开发Web项目(JSP)——简单登录、无sql

1.使用Eclipse开发Web项目(JSP) tomcat 2.在Eclipse中创建的Web项目: 浏览器可以直接访问webContent中的文件 例如http://localhost:8080/MyJspProject/index1.jsp 其中的index1.jsp就在WebContent目录中: 但是WEB-INF中的文件 无法通过客户端(浏览器)直接访问,只能通过请求转发来访问 注意:并不是任何的内部跳转都能访问WEB-INF:原因是跳转有两种方式:请求转发.重定向 3.配置tomc

用pycharm+django开发web项目

pycharm是python的一个商业的集成开发工具,本人感觉做python开发还是很好用的,django是一个很流行的python web开源框架,本文就是使用pycharm+django来开发python web项目,下面直接开始 1.安装pytcharm和django,关于安装没有什么好说的,在windows环境中跟安装一般的软件没有什么大的区别,主要有一点需要注意的就是在安装完django以后需要设置一下path环境变量,保证在任何目录下都能使用django. 2.一切编程语言不从hel

eclipse+tomcat开发web项目

也许正在使用的人会觉得这个过程谁不知道啊? 但是对于一个混迹各种语言编程有些年头的我来讲,却必须记录下来! 因为今天以前,我都通过配置[eclipse的tomcat插件]+编写[ant脚本,build.xml]的方法开发我的WEB项目 (这是几年前不想用盗版的MyEclipse辛苦摸索在Eclipse下完成的Web开发配置,配置比较繁琐,还老觉得自己是个“专家”). 殊不知道,Eclipse早就把我费劲巴拉搭建的东西内置了! 如果认为自己“懂了”而不继续学习,真的蛮可笑的,好在,今天,开始进步.

【转】MyEclipse开发Web项目发布到Tomcat下的Root目录

通常情况下,Web项目是发布到Tomcat下的webapps文件目录下的 .以至于我们访问的时候: 例如:Web应用项目名称为:webManager,则部署到tomcat后,是部署在tomcat/webapps/webManager中,网址为:http://localhost:8080/webManager. 然而 ,每当我们访问一个网站页面时,地址栏就是:http://www.1234.com/login.html.所以一般我们实际使用是不带webManager(也就是所谓的项目名称)的. 具