相关疑难解决方法(0)

Django可选的url参数

我有一个像这样的Django网址:

url(
    r'^project_config/(?P<product>\w+)/(?P<project_id>\w+)/$',
    'tool.views.ProjectConfig',
    name='project_config'
),
Run Code Online (Sandbox Code Playgroud)

和我的views.py:

def ProjectConfig(request, product, project_id=None, template_name='project.html'):
    ...
    # do stuff
Run Code Online (Sandbox Code Playgroud)

问题是我希望project_id参数是可选的.我想这样,project_id并且/project_config/都是同样有效的url模式,所以IF /project_config/12345abdce/传递,然后我可以使用它.就目前而言,如果我尝试访问没有project_id参数的url,我会得到404 .

python django django-urls django-views

150
推荐指数
6
解决办法
11万
查看次数

Django - 从POST请求获取值

我有以下django模板(http:// IP/admin/start /被分配给一个名为view的假想视图):

{% for source in sources %}
  <tr>
    <td>{{ source }}</td>

    <td>
    <form action="/admin/start/" method="post">
      {% csrf_token %}
      <input type="hidden" name="{{ source.title }}">
      <input type="submit" value="Start" class="btn btn-primary">
    </form>
    </td>

  </tr>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

sourcesobjects.all()视图中引用的Django模型.每当单击"开始"提交输入时,我希望"开始"视图{{ source.title}}在返回呈现页面之前使用函数中的数据.如何将信息(在本例中为隐藏输入)收集到Python变量中?

python django post

69
推荐指数
3
解决办法
17万
查看次数

按模板输出请求参数

说没有简单的标签只写一些http get查询参数是否正确?如果只需要打印一个http get查询参数,例如?q=w 我可以直接将q值与模板标签一起使用,还是需要复制请求处理程序中的值?是否有可能更直接地将值(所有值)从http get传递给模板?因为复制每个值似乎重复多次相同的处理

template_values = {'q':self.request.get('q'),...
Run Code Online (Sandbox Code Playgroud)

应该可以迭代参数集.你能推荐那个或任何其他解决方案吗?

django google-app-engine

42
推荐指数
1
解决办法
2万
查看次数

Django url模式 - 字符串参数

具有数字参数的Django url模式是:

url(r'^polls/(?P<poll_id>\d+)/$', 'polls.views.detail')
Run Code Online (Sandbox Code Playgroud)

如果我的poll_id不是数字而是字符串,那么正确的语法是什么?

python regex django

42
推荐指数
5
解决办法
8万
查看次数

如何在Django视图中获取URL参数?

假设我有一个具有php样式参数的url,即:

 http://example.com/blah?param1=val1&param2=val2
Run Code Online (Sandbox Code Playgroud)

我想将它们的值放在生成的模板HTML中.

我该如何实现这一目标?

django

19
推荐指数
3
解决办法
2万
查看次数

直接在Django模板中使用GET和POST变量

我希望能够在页面模板中访问某人放置在GET变量中的一些信息(当然是HTML转义.)我将如何进行此操作?我知道你可以通过视图获取这些信息,但在这种情况下,我宁愿处理HTML方面.

django-templates

7
推荐指数
1
解决办法
1万
查看次数

Django - 获取查询参数列表

我有一个端点

http://127.0.0.1:8000/auction/?status=['omn','aad']
Run Code Online (Sandbox Code Playgroud)

我需要获取状态列表,因此我执行以下操作

print (request.GET.getlist('status'))
Run Code Online (Sandbox Code Playgroud)

它归还给我

[u"['omn','aad']"]
Run Code Online (Sandbox Code Playgroud)

这是一个列表的列表.

然后我使用ast.literal_eval将列表的字符串转换为列表.有没有直接的方法来获取状态列表?

python django

6
推荐指数
2
解决办法
4913
查看次数

将外键放入表单中

我是Django和Python的新手,并且花了几天时间试图解决这个问题.我在其他线程中尝试了几种方法,但我认为我缺少一些基本概念,因为它们都没有为我工作.这是我正在尝试做的事情:

我正在使用ModelForm,并且我已经创建了一个用于添加包含外键的记录的表单.我希望默认情况下设置此值以匹配我链接的页面上显示的记录.[编辑后显示的代码显示建议的更正].

这是来自views.py的相关代码:

def add_sighting(request):
unit = request.GET.get('unit')
form = SightingForm(request.POST or None, initial={'unit':unit})
if form.is_valid():
    sighting = form.save(commit=False)
    sighting.save()
    return redirect(index)
return render_to_response('trainapp/add_sighting_form.html',
                          {'unit': unit, 'sighting_form': form},
                          context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)

以下是add_sighting_form.html的相关代码:

<form action="/trainapp/add_sighting/" method="post">
{% csrf_token %}
<table>
{{ sighting_form.as_table }}
</table>
<input type="submit" value="Save" />
</form>
Run Code Online (Sandbox Code Playgroud)

这是我链接的模板中的相关代码:

<p><a href="/trainapp/add_sighting/?unit={{ unit.id }}">Add sighting</a></p>
Run Code Online (Sandbox Code Playgroud)

django foreign-keys django-forms modelform

5
推荐指数
1
解决办法
3082
查看次数

无法解析?next =来自http:// login /?next =/my_page /使用request.GET.get('next','')的值

我有一个自定义登录URL /视图/模板.我将@login_required装饰器用于需要登录的页面(我们称之为my_page).试图访问

my_site.com/my_page 
Run Code Online (Sandbox Code Playgroud)

正确的电话

my_site.com/login/?next=/my_page/ 
Run Code Online (Sandbox Code Playgroud)

但我的视图无法解析?next =/my_page/my的值,而是总是重定向到我的默认值,即/ qa /在我的视图中:

def login_with_email(request):
    error = ''
    if request.method == 'POST':
        if not request.POST.get('email', ''):
            error = 'Please enter your email and password'
        if not request.POST.get('password', ''):
            error = 'Please enter your email and password'    
        if not error:    
            email = request.POST['email']
            password = request.POST['password']

            try:
                user = User.objects.get(email=email)
                user = authenticate(username=user.username, password=password)
                if user is not None:
                    if user.is_active:
                        login(request, user)

                        # *** 
                        next_page = request.GET.get('next', '/qa/')
                        response = …
Run Code Online (Sandbox Code Playgroud)

django django-views

5
推荐指数
1
解决办法
722
查看次数

Django url正则表达式参数捕获

我想将以下uri路由到视图中;

localhost:8000/?tag=Python

def index_tag_query(request, tag=None):

在我的网址中,我尝试了以下正则表达式模式,但即使正则表达式看起来不错,也似乎没有捕获请求;

url(r'^\?tag=(?P<tag>\w+)/$', 'links.views.index_tag_query'),

url(r'^\/?\?tag=(?P<tag>\w+)/$', 'links.views.index_tag_query'),

url(r'^\/?\?tag=(?P<tag>.*)/$', 'links.views.index_tag_query'),

是什么赋予了?

python django

4
推荐指数
1
解决办法
7183
查看次数