建立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 基本设置的更多相关文章

  1. Django基本设置

    Dango设置流程图片示例: 设置路由时需要注意的一个点是:Django中定义路由时,通常习惯以斜线 / 结尾 其他常用命令: python manage.py runserver 0.0.0.0:8 ...

  2. Django中的事务与ajax

    一 事务与锁 1.行级锁 行级锁是由存储引擎实现的.如mysql里默认指定的InnoDB存储引擎,由它实现行级锁.InnoDB的行级锁定同样分为两种类型,共享锁(X)和排他锁(S). 对于UPDATE ...

  3. django用户认证系统——基本设置1

    网站提供登录.注册等用户认证功能是一个常见的需求.因此,Django 提供了一套功能完整的.灵活的.易于拓展的用户认证系统:django.contrib.auth.在本教程中,我将向你展示 auth ...

  4. django的安装及基本设置记录

    环境变量的配置在这个文章中,不会的可以去看看 https://www.cnblogs.com/alex3174/p/11116558.html 主要步骤是:我的电脑-右键-属性-高级系统设置-环境变量 ...

  5. django 各项配置基本设置

    setting中一些设置例子 mysql数据库连接设置 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': ...

  6. django 模型

    一.project 与app之间的关系 1个project中可包含多个app eg:包含两个app的project的结构

  7. Django 后台管理设置(admin.py)

    上面是两种后台效果图,第一张是默认情况下Django的后台,第二张是稍作修改后的情况,下面记录下作了哪些修改: 代码: class ArticleAdmin(admin.ModelAdmin): li ...

  8. django笔记-模型数据模板呈现过程记录(多对多关系)

    首先,推荐一个网址:http://www.tuicool.com/articles/BfqYz2F,因为这里的比我的要有条理,更有利于各位的理解. 以下仅为为个人一次不完整的笔记: 环境:ubuntu ...

  9. django使用笔记

    django的具体使用可以看官方手册http://djangobook.py3k.cn,这里主要记录使用django中遇到的问题. 1.中文编码问题. 因为我们用到的东西基本上都有中文,在settin ...

随机推荐

  1. Css多列语法笔记

    columns多列属性定义: column-width:规定列的宽度(此宽度是缩放scale以后的最小宽度): column-count:规定元素被分隔的列数: column-rule设置所有colu ...

  2. 【CF235C】Cyclical Quest(后缀自动机)

    [CF235C]Cyclical Quest(后缀自动机) 题面 洛谷 题解 大致翻译: 给定一个串 然后若干组询问 每次也给定一个串 这个串可以旋转(就是把最后一位丢到最前面这样子) 问这个串以及其 ...

  3. 【NOI2014】起床困难综合症(贪心)

    [NOI2014]起床困难综合症(贪心) 题面 Description 21 世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳.作为一名青春阳光好少年,atm 一直坚 ...

  4. [HNOI2013]游走

    题面在这里 题意 从1号点开始等概率选择路径并加上边权,直到到达n号点结束,要求将m条边赋权值1-m使得期望最小 sol 续上文 zsy ycb orz 简单的贪心:求出每条边的期望经过次数,sort ...

  5. error:org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NullPointerException

    问题:调用的方法在一个接口类中,但我并没有注入那个被调用的类 解决:在UserEntity前加上@Autowired @Controller public class MainController { ...

  6. (python走过的坑)OpenCV中错误opencv-3.3.1\modules\highgui\src\window.cpp:339: error: (-215) size.width>0 && size.height>0 in function cv::imshow

    第一次在python中使用OpenCV(cv2),运行时报错opencv-3.3.1\modules\highgui\src\window.cpp:339: error: (-215) size.wi ...

  7. js备战春招の四の表单

    表单验证:required="required"(浏览器自动验证) javascript表单验证: <input id="numb">这条html标 ...

  8. 部署openstack的官网文档解读mysql的配置文件

    部署openstack的官网文档解读mysql的配置文件(使用与ubutu和centos7等系统) author:headsen chen  2017-10-12 16:57:11 个人原创,严禁转载 ...

  9. 共享MFC每周时间选择控件代码

    自己写的周时间选择控件,原理就是在Static上用GDI画图. 支持选择每周内每一天内的任意时间段,可以任意拖动修改时间段,任意合并时间段 效果如下图: VS2012代码下载:https://gith ...

  10. pycharm创建Flask项目,jinja自动补全,flask智能提示

    pycharm创建Flask项目,jinja自动补全,flask智能提示 之前一直都是用在idea里创建空项目然后导入,之后就没有各种的智能提示,在选择文类,选择模板之类的地方就会很麻烦. 步骤1:用 ...