Latest posts on get_messages помогите разобратся topichttp://python.su/forum/topic/34529/2018-01-13T02:06:04+02:00Веб-технологии :: Django :: get_messages помогите разобратся
2018-01-13T02:06:04+02:00pyDev188582Спасибо.
Веб-технологии :: Django :: get_messages помогите разобратся
2018-01-12T10:21:23+02:00helm2004188559В первом случае storage - массив, а во втором класс.
Веб-технологии :: Django :: get_messages помогите разобратся
2018-01-12T02:22:14+02:00pyDev188549Поясните пожалуйста один момент.<br/>Есть к примеру тест на проверку соответсвия сообщения об ошибке когда пытается залогинится незарегестрированный пользователь:<br/><div class="code"><pre> <span class="k">def</span> <span class="nf">some_test</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="n">data</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'username'</span><span class="p">:</span> <span class="s1">'wronguser'</span><span class="p">,</span> <span class="s1">'password'</span><span class="p">:</span> <span class="s1">'test1234'</span><span class="p">}</span>
<span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">post</span><span class="p">(</span><span class="s1">'/login/'</span><span class="p">,</span> <span class="n">data</span><span class="o">=</span><span class="n">data</span><span class="p">)</span>
<span class="n">storage</span> <span class="o">=</span> <span class="p">[</span><span class="n">m</span><span class="o">.</span><span class="n">message</span> <span class="k">for</span> <span class="n">m</span> <span class="ow">in</span> <span class="n">get_messages</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">wsgi_request</span><span class="p">)]</span>
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="s2">"Some error message."</span><span class="p">,</span> <span class="n">storage</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
</pre></div><br/>Всё работает, НО когда я пытаюсь получить доступ к сообщению об ошибке в следующий способ:<br/><div class="code"><pre> <span class="k">def</span> <span class="nf">some_test</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="n">data</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'username'</span><span class="p">:</span> <span class="s1">'wronguser'</span><span class="p">,</span> <span class="s1">'password'</span><span class="p">:</span> <span class="s1">'test1234'</span><span class="p">}</span>
<span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">post</span><span class="p">(</span><span class="s1">'/login/'</span><span class="p">,</span> <span class="n">data</span><span class="o">=</span><span class="n">data</span><span class="p">)</span>
<span class="n">storage</span> <span class="o">=</span> <span class="n">get_messages</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">wsgi_request</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="s2">"Some error message."</span><span class="p">,</span> <span class="n">storage</span><span class="o">.</span><span class="n">message</span><span class="p">)</span>
</pre></div>Выдает ошибку ‘FallbackStorage’ object has no attribute ‘message’. То бишь доступа к атрибуту переменной storage во втором случае нет. Но если я делаю итерацию циклом списка (как в первом случае) то доступ в таком случае имеется. Может кто-то прояснить почему так происходит?<br/>