Django 基本设置
建立django目录,为了独立区分app和主站的关系,需要把app完全和主站分离

app/views.py
from django.shortcuts import render
from django.http import HttpResponseRedirect,HttpResponse
import os
from app.forms import MomentForm
from django.core.urlresolvers import reverse
from django.shortcuts import render # Create your views here.
def moments_input(request):
if request.method =='POST':
form = MomentForm(request.POST)
if form.is_valid():
moment = form.save()
moment.save()
return HttpResponseRedirect(reverse('welcome'))#reverse连接urls内的name值,来进行反向查找网址
else:
form = MomentForm()
PROJECT_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
return render(request,os.path.join(PROJECT_ROOT,'app/templates','moments_input.html'),{'form':form}) #连接到模版文件路径 def welcome(request): return HttpResponse('HELLO')
app/urls.py管理app中的url映射
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from django.conf.urls import url
from . import views urlpatterns = [
url(r'moments_input',views.moments_input),
url(r'wc',views.welcome,name='welcome'),# 添加name值,以便于reverse查找
]
django/urls.py
from django.conf.urls import url
from django.contrib import admin
from django.conf.urls import include
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^app/', include('app.urls')), # 建立与app/urls的路由建立连接关系
]
app.models.py 建立模型
# _*_ coding: utf-8 _*_
from django.db import models # Create your models here. KIND_CHOICES = (
('python技术','python技术'),
('数据库技术','数据库技术'),
('经济学','经济学'),
('文体资讯','文体资讯'),
('个人心情','个人心情'),
('其他','其他'),
) class Moment(models.Model):
content = models.CharField(max_length=200)
user_name = models.CharField(max_length=20,default='匿名')
kind = models.CharField(max_length=20,choices=KIND_CHOICES,default=KIND_CHOICES[0])
定义表单类app/form.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from django.forms import ModelForm
from app.models import Moment class MomentForm(ModelForm):
class Meta:
model = Moment # 连接数据库与表单的关系
fields = '__all__' # 导入所有字段
创建模版文件app/templates/moments_input.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>消息输入页面</title>
</head>
<body>
<form action="?" method="post">
<fieldset>
<legend>请输入并提交</legend>
{{ form.as_p }}
<input type="submit" value="submit"/>
</fieldset>
</form>
</body>
</html>
使用自带管理界面app/admin.py
from django.contrib import admin # Register your models here.
from .models import Moment admin.site.register(Moment)

Django 基本设置的更多相关文章
- Django基本设置
Dango设置流程图片示例: 设置路由时需要注意的一个点是:Django中定义路由时,通常习惯以斜线 / 结尾 其他常用命令: python manage.py runserver 0.0.0.0:8 ...
- Django中的事务与ajax
一 事务与锁 1.行级锁 行级锁是由存储引擎实现的.如mysql里默认指定的InnoDB存储引擎,由它实现行级锁.InnoDB的行级锁定同样分为两种类型,共享锁(X)和排他锁(S). 对于UPDATE ...
- django用户认证系统——基本设置1
网站提供登录.注册等用户认证功能是一个常见的需求.因此,Django 提供了一套功能完整的.灵活的.易于拓展的用户认证系统:django.contrib.auth.在本教程中,我将向你展示 auth ...
- django的安装及基本设置记录
环境变量的配置在这个文章中,不会的可以去看看 https://www.cnblogs.com/alex3174/p/11116558.html 主要步骤是:我的电脑-右键-属性-高级系统设置-环境变量 ...
- django 各项配置基本设置
setting中一些设置例子 mysql数据库连接设置 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': ...
- django 模型
一.project 与app之间的关系 1个project中可包含多个app eg:包含两个app的project的结构
- Django 后台管理设置(admin.py)
上面是两种后台效果图,第一张是默认情况下Django的后台,第二张是稍作修改后的情况,下面记录下作了哪些修改: 代码: class ArticleAdmin(admin.ModelAdmin): li ...
- django笔记-模型数据模板呈现过程记录(多对多关系)
首先,推荐一个网址:http://www.tuicool.com/articles/BfqYz2F,因为这里的比我的要有条理,更有利于各位的理解. 以下仅为为个人一次不完整的笔记: 环境:ubuntu ...
- django使用笔记
django的具体使用可以看官方手册http://djangobook.py3k.cn,这里主要记录使用django中遇到的问题. 1.中文编码问题. 因为我们用到的东西基本上都有中文,在settin ...
随机推荐
- 多线程之倒计时器CountDownLatch和循环栅栏CyclicBarrier
1.倒计时器CountDownLatch CountDownLatch是一个多线程控制工具类.通常用来控制线程等待,它可以让一个线程一直等待知道计时结束才开始执行 构造函数: public Count ...
- JS实现全选功能
000. 开始 学习JS有一段时间了,最近看了一些JS练手的小demo实例,自己也尝试着用JS进行实现. 全选功能是在很多注册页面.获取用户兴趣爱好.让用户勾选一些选项等页面中常见的一种效果,主要有全 ...
- 洛谷P3434 [POI2006]KRA-The Disks(线段树)
洛谷题目传送门 \(O(n)\)的正解算法对我这个小蒟蒻真的还有点思维难度.洛谷题解里都讲得很好. 考试的时候一看到300000就直接去想各种带log的做法了,反正不怕T...... 我永远只会有最直 ...
- java设计模式单例模式 ----懒汉式与饿汉式的区别
常用的五种单例模式实现方式 ——主要: 1.饿汉式(线程安全,调用率高,但是,不能延迟加载.) 2.懒汉式(线程安全,调用效率不高,可以延时加载.) ——其他: 1.双重检测锁式(由于JVM底层内部模 ...
- php文件上传原理详解(含源码)
1.文件上传原理 将客户端的文件上传到服务器,再将服务器的临时文件上传到指定目录 2.客户端配置 提交表单 表单的发送方式为post 添加enctype="multipart/form-da ...
- Java项目转换成Web项目
阐述:有时候我们在Eclipse中导入一个web项目,发现导入到项目中后变成一个Java项目,这让人很蛋疼.本篇主要讲述怎样将这个本该为web项目的Java项目变身回去,以及一些在导入过程中遇到的一些 ...
- ATM+购物商城完整版
一,需求:模拟实现一个ATM + 购物商城程序 要求如下: 1.额度15000或者自定义 2.实现购物商城,买东西加入购物车,调用信用卡接口结账 3.可以提现,手续费5% 4.支持多账户登陆 5.支持 ...
- 怎么用secureCRT连接Linux
首先要安装linux,参看:http://www.cnblogs.com/shenjieblog/p/5061282.html 然后要安装secureCRT,参看:http://www.cnblogs ...
- 虚拟机安装CentOS6.3及常见问题总结
学Linux的同学大多数开始是使用的是Ubuntu或者red hat,red hat虽然安装不需要收费,但是服务是收费的,下面我就讲讲怎么用虚拟机安装CentOS6.3,其他Linux的安装可以参考这 ...
- JS离开页面 弹窗
function bindDOMEvents() { $(document).keydown(function (e) { var key = e.which || e.keyCode; if (ke ...