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 ...
随机推荐
- 简述Spring事务有几种管理方法,写出一种配置方式
Spring事务有两种方式: 1.编程式事务:(代码中嵌入) 2.声明式事务:(注解,XML) 注解方式配置事务的方式如下: 首先,需要在applicationContext.xml中添加启动配置,代 ...
- 【BZOJ2049】洞穴勘测(Link-Cut Tree)
[BZOJ2049]洞穴勘测(Link-Cut Tree) 题面 题目描述 辉辉热衷于洞穴勘测. 某天,他按照地图来到了一片被标记为JSZX的洞穴群地区.经过初步勘测,辉辉发现这片区域由n个洞穴(分别 ...
- (2)Deep Learning之线性单元和梯度下降
往期回顾 在上一篇文章中,我们已经学会了编写一个简单的感知器,并用它来实现一个线性分类器.你应该还记得用来训练感知器的『感知器规则』.然而,我们并没有关心这个规则是怎么得到的.本文通过介绍另外一种『感 ...
- Zabbix JMX之tomcat监控
工作原理: 1.JAVA-GATEWAY Zabbix本身不支持直接监控Java,在zabbix 1.8以前,只能使用Zapcat来做代理监控,而且要修改源代码,非常麻烦.所有后来为了解决这个监控问 ...
- 如何使用mysqldump备份数据库
一.背景 在开发项目中,数据库是核心资产.除了做主备冗余增加可靠性外,定期备份数据也是必须的. 使用mysqldump备份数据具有操作简单,备份和恢复时间短的优点(mysqldump备份数据生成的是批 ...
- centos7.2 配置内网ntp服务器进行时间同步
(一)修改/etc/ntp.conf 配置文件,注意红色部分,其他部分不需要改 ########################################################### ...
- c#事件的应用
我已经多次使用c#事件了.举个最近的例子:我用vsto做的一个word插件.这个插件分为两层,业务逻辑层和word外接程序.有这么一个场景,我的ribbon中的一个label是动态显示的.它会随着wo ...
- 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 ...
- RouterPassView——路由器密码查看工具
大多数现代路由器都可以让您备份一个文件路由器的配置文件,然后在需要的时候从文件中恢复配置.路由器的备份文件通常包含了像您的ISP的用户名重要数据/密码,路由器的登录密码,无线网络的KEY. 如果你忘记 ...
- Python函数学习——递归
递归函数 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. 函数实现过程 def calc(n): v = int(n//2) print(v) if v > ...