在forms.py 里怎么样动态调用Category(分类栏目)?代码贴出来了。请大家帮我看看怎么弄?

zx_cv_b 2013-08-16 10:55:49
models.py:
class Category(models.Model):
###CATE_CHOICES =(('1', u'求职招聘'), ('2', u'征婚交友'), ('3', u'出租出售'))
cname = models.CharField(verbose_name=u'信息分类', max_length=30)
baseType = models.ForeignKey('self', null=True, blank=True, verbose_name=u'所属分类')

def __unicode__(self):
return self.cname

class Meta:
verbose_name = u'信息分类'
verbose_name_plural = u'信息分类列表'
ordering = ['cname']



forms.py:


class MsgPostForm(forms.Form):
category = forms.ChoiceField(label=u'信息分类', choices=????问题就是这里怎么样动态的调用我在后台添加的栏目? 是定义一个CATE_CHOICES =(('1', u'求职招聘'), ('2', u'征婚交友'), ('3', u'出租出售'))
这样的元组吗?但是这样提交不到数据库。还是用什么函数生成? 怎么样才能得到这个分类信息。而且跟后台数据库中的一样?)
title = forms.CharField(label=u'标题', widget=forms.TextInput(attrs={'size':30, 'max_length':30}))
content = forms.CharField(label=u'内容', widget=forms.Textarea(attrs={'size':10000}))




views.py :



@login_required
def msg_post_page(request):
if request.method == 'POST':
form = MsgPostForm(request.POST)
if form.is_valid():
newmessage = Msg(
title = form.cleaned_data['title'],
content = form.cleaned_data['content'],
category = form.cleaned_data['category'],
user = request.user,
ip = request.META['REMOTE_ADDR'],
dq_time = form.cleaned_data['dq_time'],
addr_dz = form.cleaned_data['addr_dz'],
phone_dh = form.cleaned_data['phone_dh'],
qq = form.cleaned_data['qq'],
email = form.cleaned_data['email'],
lxr_user = form.cleaned_data['lxr_user']
)
newmessage.save()
return HttpResponseRedirect('/')
else:
form = MsgPostForm()
variables = RequestContext(request, {'form': form})
return render_to_response('message/msg_post_page.html', variables)


html
{% extends "base.html" %}
{% block title %}发表留言{% endblock %}
{% block head %}发表留言{% endblock %}
{% block content %}
<form method="post" action="">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="发表">
</form>
{% endblock %}



问题就是forms.py 里面的:


category = forms.ChoiceField(label=u'信息分类', choices=????问题就是这里怎么样动态的调用我在后台添加的栏目? 是定义一个CATE_CHOICES =(('1', u'求职招聘'), ('2', u'征婚交友'), ('3', u'出租出售'))


多谢
...全文
210 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zx_cv_b 2013-08-17
  • 打赏
  • 举报
回复
是django 框架。 建了一个分类的栏目。 用户注册后。 发布信息时。需要发布到相应的栏目下面。 问题是那个发布页面的forms表单里。怎么调用那个相关的栏目? 比如要发布信息到:最新新间里。而后台建了一个最新新闻的栏目。 在发布信息的/post/页面里。怎么调用栏目?
ImN1 2013-08-17
  • 打赏
  • 举报
回复
搞不清你的需求,你直接就跳到最后的问题了 好像有人拿着一块生牛肉就跑来问:我做的牛肉片怎么不好吃? 也不知道怎么切,怎么烧,用了什么调料……太跳跃了 你这是用的框架么?可能我不熟悉框架,没看懂 你说的“动态”指的是什么,搞清数据源,从数据源读取就是了 如果动态指的是每次,那么就在程序前面导入数据源(import什么的) 如果是指每个时间段,就设定时器刷新读取数据源的操作
zx_cv_b 2013-08-17
  • 打赏
  • 举报
回复
已经搞定了。 用 ModelChoiceField() 多谢。结贴
zx_cv_b 2013-08-17
  • 打赏
  • 举报
回复
同样感谢楼上的哥们。 再等等用过dj的朋友们
ImN1 2013-08-17
  • 打赏
  • 举报
回复
确实不懂django,具体写法你等等其他懂这个的大神 大致思路是这样的—— 在表单页,载入一个数据库读取的模块,读取数据库相关信息,填入表单一个select下拉控件,每条option对应value就行。如果这些数据相对固定,例如是建数据库就设好的栏目,也可以使用一些cache方法,避免频繁的数据库IO,反正以前写php就这样 由于一些个人的原因,我很少接触大型框架,小型的模块就用不少,平常都用原始的语言代码写 因为大型框架其实已经是某种语言做好的另类“解析器”,已经有独立的语法,用于提高开发效率;偶写代码出于兴趣,不靠它吃饭,没做什么大项目,所以一直对框架没什么研究,帮不上什么忙

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧