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

app/views.py

  1. from django.shortcuts import render
  2. from django.http import HttpResponseRedirect,HttpResponse
  3. import os
  4. from app.forms import MomentForm
  5. from django.core.urlresolvers import reverse
  6. from django.shortcuts import render
  7.  
  8. # Create your views here.
  9. def moments_input(request):
  10. if request.method =='POST':
  11. form = MomentForm(request.POST)
  12. if form.is_valid():
  13. moment = form.save()
  14. moment.save()
  15. return HttpResponseRedirect(reverse('welcome'))#reverse连接urls内的name值,来进行反向查找网址
  16. else:
  17. form = MomentForm()
  18. PROJECT_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
  19. return render(request,os.path.join(PROJECT_ROOT,'app/templates','moments_input.html'),{'form':form}) #连接到模版文件路径
  20.  
  21. def welcome(request):
  22.  
  23. return HttpResponse('HELLO')

app/urls.py管理app中的url映射

  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3. from django.conf.urls import url
  4. from . import views
  5.  
  6. urlpatterns = [
  7. url(r'moments_input',views.moments_input),
  8. url(r'wc',views.welcome,name='welcome'),# 添加name值,以便于reverse查找
  9. ]

django/urls.py

  1. from django.conf.urls import url
  2. from django.contrib import admin
  3. from django.conf.urls import include
  4. urlpatterns = [
  5. url(r'^admin/', admin.site.urls),
  6. url(r'^app/', include('app.urls')), # 建立与app/urls的路由建立连接关系
  7. ]

app.models.py 建立模型

  1. # _*_ coding: utf-8 _*_
  2. from django.db import models
  3.  
  4. # Create your models here.
  5.  
  6. KIND_CHOICES = (
  7. ('python技术','python技术'),
  8. ('数据库技术','数据库技术'),
  9. ('经济学','经济学'),
  10. ('文体资讯','文体资讯'),
  11. ('个人心情','个人心情'),
  12. ('其他','其他'),
  13. )
  14.  
  15. class Moment(models.Model):
  16. content = models.CharField(max_length=200)
  17. user_name = models.CharField(max_length=20,default='匿名')
  18. kind = models.CharField(max_length=20,choices=KIND_CHOICES,default=KIND_CHOICES[0])

定义表单类app/form.py

  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3. from django.forms import ModelForm
  4. from app.models import Moment
  5.  
  6. class MomentForm(ModelForm):
  7. class Meta:
  8. model = Moment # 连接数据库与表单的关系
  9. fields = '__all__' # 导入所有字段

创建模版文件app/templates/moments_input.html

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>消息输入页面</title>
  6. </head>
  7. <body>
  8. <form action="?" method="post">
  9. <fieldset>
  10. <legend>请输入并提交</legend>
  11. {{ form.as_p }}
  12. <input type="submit" value="submit"/>
  13. </fieldset>
  14. </form>
  15. </body>
  16. </html>

使用自带管理界面app/admin.py

  1. from django.contrib import admin
  2.  
  3. # Register your models here.
  4. from .models import Moment
  5.  
  6. 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. 简述Spring事务有几种管理方法,写出一种配置方式

    Spring事务有两种方式: 1.编程式事务:(代码中嵌入) 2.声明式事务:(注解,XML) 注解方式配置事务的方式如下: 首先,需要在applicationContext.xml中添加启动配置,代 ...

  2. 【BZOJ2049】洞穴勘测(Link-Cut Tree)

    [BZOJ2049]洞穴勘测(Link-Cut Tree) 题面 题目描述 辉辉热衷于洞穴勘测. 某天,他按照地图来到了一片被标记为JSZX的洞穴群地区.经过初步勘测,辉辉发现这片区域由n个洞穴(分别 ...

  3. (2)Deep Learning之线性单元和梯度下降

    往期回顾 在上一篇文章中,我们已经学会了编写一个简单的感知器,并用它来实现一个线性分类器.你应该还记得用来训练感知器的『感知器规则』.然而,我们并没有关心这个规则是怎么得到的.本文通过介绍另外一种『感 ...

  4. Zabbix JMX之tomcat监控

    工作原理: 1.JAVA-GATEWAY  Zabbix本身不支持直接监控Java,在zabbix 1.8以前,只能使用Zapcat来做代理监控,而且要修改源代码,非常麻烦.所有后来为了解决这个监控问 ...

  5. 如何使用mysqldump备份数据库

    一.背景 在开发项目中,数据库是核心资产.除了做主备冗余增加可靠性外,定期备份数据也是必须的. 使用mysqldump备份数据具有操作简单,备份和恢复时间短的优点(mysqldump备份数据生成的是批 ...

  6. centos7.2 配置内网ntp服务器进行时间同步

    (一)修改/etc/ntp.conf 配置文件,注意红色部分,其他部分不需要改  ########################################################### ...

  7. c#事件的应用

    我已经多次使用c#事件了.举个最近的例子:我用vsto做的一个word插件.这个插件分为两层,业务逻辑层和word外接程序.有这么一个场景,我的ribbon中的一个label是动态显示的.它会随着wo ...

  8. error:java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long

    问题:mysql中id存的是int(10),java代码中的id为long,转不过去 解决:mysql中的int要是需要转到java中的long,需要选择unsigned这个选项,即if(unsign ...

  9. RouterPassView——路由器密码查看工具

    大多数现代路由器都可以让您备份一个文件路由器的配置文件,然后在需要的时候从文件中恢复配置.路由器的备份文件通常包含了像您的ISP的用户名重要数据/密码,路由器的登录密码,无线网络的KEY. 如果你忘记 ...

  10. Python函数学习——递归

    递归函数 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. 函数实现过程 def calc(n): v = int(n//2) print(v) if v > ...